diff --git a/packages/browser/src/client/tester/tester-utils.ts b/packages/browser/src/client/tester/tester-utils.ts index c6e72485be33..a32a52fad9d9 100644 --- a/packages/browser/src/client/tester/tester-utils.ts +++ b/packages/browser/src/client/tester/tester-utils.ts @@ -186,7 +186,9 @@ export class CommandsManager { } } -const now = Date.now +const now = globalThis.performance + ? globalThis.performance.now.bind(globalThis.performance) + : Date.now export function processTimeoutOptions(options_: T | undefined): T | undefined { if ( @@ -212,7 +214,7 @@ export function processTimeoutOptions(options_: options_ = options_ || {} as T const currentTime = now() const endTime = startTime + timeout - const remainingTime = endTime - currentTime + const remainingTime = Math.floor(endTime - currentTime) if (remainingTime <= 0) { return options_ } diff --git a/packages/runner/src/context.ts b/packages/runner/src/context.ts index 00dea0a9b3a0..61930382ec41 100644 --- a/packages/runner/src/context.ts +++ b/packages/runner/src/context.ts @@ -14,7 +14,9 @@ import { PendingError } from './errors' import { finishSendTasksUpdate } from './run' import { getRunner } from './suite' -const now = Date.now +const now = globalThis.performance + ? globalThis.performance.now.bind(globalThis.performance) + : Date.now export const collectorContext: RuntimeContext = { tasks: [], diff --git a/packages/vitest/src/defaults.ts b/packages/vitest/src/defaults.ts index 0c630e25a4cf..734a26caa972 100644 --- a/packages/vitest/src/defaults.ts +++ b/packages/vitest/src/defaults.ts @@ -5,7 +5,7 @@ import type { UserConfig, } from './node/types/config' import os from 'node:os' -import { isCI } from './utils/env' +import { isAgent, isCI } from './utils/env' export { defaultBrowserPort } from './constants' @@ -93,7 +93,7 @@ export const configDefaults: Readonly<{ }> = Object.freeze({ allowOnly: !isCI, isolate: true, - watch: !isCI && process.stdin.isTTY, + watch: !isCI && process.stdin.isTTY && !isAgent, globals: false, environment: 'node' as const, clearMocks: false, diff --git a/test/browser/README.md b/test/browser/README.md index e2896e9bfc0a..f4217a00fb50 100644 --- a/test/browser/README.md +++ b/test/browser/README.md @@ -26,5 +26,5 @@ Some test suites don't support running it remotely (`fixtures/inspect` and `fixt pnpm docker up -d # Run tests with BROWSER_WS_ENDPOINT -BROWSER_WS_ENDPOINT=ws://127.0.0.1:6677/ pnpm run test:playwright +BROWSER_WS_ENDPOINT=true pnpm run test:playwright ``` diff --git a/test/browser/settings.ts b/test/browser/settings.ts index fc6493cd5cca..c6bb019a38f9 100644 --- a/test/browser/settings.ts +++ b/test/browser/settings.ts @@ -5,12 +5,14 @@ import { webdriverio } from '@vitest/browser-webdriverio' const providerName = (process.env.PROVIDER || 'playwright') as 'playwright' | 'webdriverio' | 'preview' +const wsEndpoint = process.env.BROWSER_WS_ENDPOINT === 'true' ? 'ws://127.0.0.1:6677/' : process.env.BROWSER_WS_ENDPOINT + export const providers = { - playwright: (options?: Parameters[0]) => playwright(process.env.BROWSER_WS_ENDPOINT + playwright: (options?: Parameters[0]) => playwright(wsEndpoint ? { ...options, connectOptions: { - wsEndpoint: process.env.BROWSER_WS_ENDPOINT, + wsEndpoint, exposeNetwork: '', }, }