Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions packages/qwen-live/vitest.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ export default defineConfig({
test: {
environment: 'node',
include: ['src/**/*.test.ts'],
// RPC-timeout exemption; see scripts/tests/unit-vitest-configs.test.ts.
dangerouslyIgnoreUnhandledErrors: process.platform !== 'linux',
// Discovery tests exercise real file locking; orchestrator tests use fake
// timers but spawn no processes. Keep generous ceilings for slow CI hosts.
testTimeout: 60_000,
Expand Down
19 changes: 19 additions & 0 deletions scripts/tests/unit-vitest-configs.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ import chromeExtensionConfig from '../../packages/chrome-extension/vitest.config
import cliConfig from '../../packages/cli/vitest.config.js';
import coreConfig from '../../packages/core/vitest.config.js';
import nodeReplConfig from '../../packages/node-repl/vitest.config.js';
import qwenLiveConfig from '../../packages/qwen-live/vitest.config.js';
import sdkTypescriptConfig from '../../packages/sdk-typescript/vitest.config.js';
import vscodeCompanionConfig from '../../packages/vscode-ide-companion/vitest.config.js';
import webShellConfig from '../../packages/web-shell/vitest.config.js';
Expand Down Expand Up @@ -68,6 +69,7 @@ const configs: Record<string, ExemptionConfig> = {
'packages/cli': cliConfig,
'packages/core': coreConfig,
'packages/node-repl': nodeReplConfig,
'packages/qwen-live': qwenLiveConfig,
'packages/sdk-typescript': sdkTypescriptConfig,
'packages/vscode-ide-companion': vscodeCompanionConfig,
'packages/web-shell': webShellConfig,
Expand All @@ -84,6 +86,23 @@ describe('unhandled-error exemption on the platform lanes', () => {
);
});
}

it('covers every workspace that runs on the platform lanes', () => {
// The map above is hand-maintained, and qwen-live spent two weeks on the
// lanes without the flag because nothing pinned completeness (#11890).
// One-directional on purpose, mirroring the shared-pool cross-check below:
// scripts/tests is in the map without being a workspace.
const repoRoot = fileURLToPath(new URL('../../', import.meta.url));
const missing = getTestCiWorkspacePackageJsonPaths(repoRoot)
.map((packageJsonPath) =>
packageJsonPath.slice(0, -'/package.json'.length),
)
.filter((name) => !(name in configs));
expect(
missing,
'runs test:ci but has no entry in the exemption map above',
).toEqual([]);
});
});

// Every workspace that `npm run test:ci --workspaces` runs lands on the same
Expand Down
Loading