From 5a45a7ca6ba67c64cb98ba7e497502d291145df5 Mon Sep 17 00:00:00 2001 From: Vladimir Date: Thu, 13 Feb 2025 18:00:08 +0100 Subject: [PATCH] fix(browser): cleanup timeout on resolve and give more information in the error (#7487) --- packages/vitest/src/node/browser/sessions.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/vitest/src/node/browser/sessions.ts b/packages/vitest/src/node/browser/sessions.ts index 7d4dfd51c831..dfff4f8644df 100644 --- a/packages/vitest/src/node/browser/sessions.ts +++ b/packages/vitest/src/node/browser/sessions.ts @@ -1,6 +1,7 @@ import type { TestProject } from '../project' import type { BrowserServerStateSession } from '../types/browser' import { createDefer } from '@vitest/utils' +import { relative } from 'pathe' export class BrowserSessions { private sessions = new Map() @@ -13,7 +14,8 @@ export class BrowserSessions { const defer = createDefer() const timeout = setTimeout(() => { - defer.reject(new Error(`Failed to connect to the browser session "${sessionId}" within the timeout.`)) + const tests = files.map(file => relative(project.config.root, file)).join('", "') + defer.reject(new Error(`Failed to connect to the browser session "${sessionId}" [${project.name}] for "${tests}" within the timeout.`)) }, project.vitest.config.browser.connectTimeout ?? 60_000).unref() this.sessions.set(sessionId, { @@ -25,6 +27,7 @@ export class BrowserSessions { }, resolve: () => { defer.resolve() + clearTimeout(timeout) this.sessions.delete(sessionId) }, reject: defer.reject,