Просмотр исходного кода

test(subagent-acp): double the per-test timeout relative to default

These tests spawn real ACP child subprocesses. On contended self-hosted
Windows runners the default 30s budget times out. Instead of raising the
global coverage timeout, give this file 2x the configured default
(DSH_COVERAGE_TEST_TIMEOUT_MS) so it follows future default changes.
Chinesezjc 1 месяц назад
Родитель
Сommit
5e7c567dc8

+ 1 - 1
.github/workflows/ci.yml

@@ -446,7 +446,7 @@ jobs:
     env:
       DSH_COVERAGE_MAX_WORKERS: '6'
       DSH_COVERAGE_PARTITIONS: '4'
-      DSH_COVERAGE_TEST_TIMEOUT_MS: '60000'
+      DSH_COVERAGE_TEST_TIMEOUT_MS: '30000'
       DSH_GATE_CONCURRENCY: '3'
     steps:
       - uses: actions/checkout@v6

+ 7 - 1
packages/subagent/subagent-acp/tests/subagent-acp.spec.ts

@@ -1,4 +1,4 @@
-import { describe, expect, it } from 'vitest'
+import { describe, expect, it, vi } from 'vitest'
 import { Context } from '@deepseek-ai/cordis'
 import Loader from '@deepseek-ai/cordis-plugin-loader'
 import { chmodSync, existsSync, mkdtempSync, realpathSync, rmSync, writeFileSync } from 'node:fs'
@@ -14,6 +14,12 @@ import { acpStopReason, acpContentText, DEFAULT_DISPOSE_EOF_GRACE_MS, DEFAULT_DI
 import LocalSubprocessRuntime from '@deepseek-ai/dsh-subprocess-local'
 import { spawnSubprocess } from '@deepseek-ai/dsh-subprocess-local/src/spawn.ts'
 
+// These tests spawn real ACP child subprocesses. On contended self-hosted
+// Windows runners the default per-test budget is too tight, so give this file
+// twice the configured default timeout (DSH_COVERAGE_TEST_TIMEOUT_MS in CI).
+const DEFAULT_TEST_TIMEOUT_MS = Number(process.env.DSH_COVERAGE_TEST_TIMEOUT_MS ?? 5_000)
+vi.setConfig({ testTimeout: DEFAULT_TEST_TIMEOUT_MS * 2 })
+
 /**
  * Keyless integration tests for the ACP subagent backend. Each spawns a REAL
  * subprocess — the scripted mock ACP server (tests/mock-acp-server.ts) — and