From e4c822544c2d087af8a2e1d03475636583d006ef Mon Sep 17 00:00:00 2001 From: Chinesezjc Date: Wed, 2 Sep 2026 11:50:18 +0800 Subject: [PATCH] test(pwsh): restore product-default deadline in loader composition The first call pays the full pwsh cold-start latency (spawn + .NET + PSReadLine + Defender) inside the tool deadline. A 60s bound on the fully loaded self-hosted Windows pool is exceeded often enough to reset the session mid-test: two master CI runs (2026-09-01, runs 33524764567 and 33534262413) each failed at ~62s with the second call observing a fresh session (cwd back at root, env empty). 300s matches the product default so cold start no longer races the budget. --- .../tests/loader-composition.spec.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/shell/tool-pwsh-persistent/tests/loader-composition.spec.ts b/packages/shell/tool-pwsh-persistent/tests/loader-composition.spec.ts index 58b05082d0..3df945fec7 100644 --- a/packages/shell/tool-pwsh-persistent/tests/loader-composition.spec.ts +++ b/packages/shell/tool-pwsh-persistent/tests/loader-composition.spec.ts @@ -95,11 +95,16 @@ describe.skipIf(!hasPwsh)('persistent pwsh through a real cordis.yml Loader comp ' idleSilenceMs: 300', ' handoffGraceMs: 300', ' scrollbackLines: 20000', - ' timeoutMs: 60000', + // The first call pays the full pwsh cold-start latency (spawn + .NET + + // PSReadLine + Defender) inside the tool deadline; a 60s bound on the + // fully loaded self-hosted Windows pool is exceeded often enough to + // reset the session mid-test (2026-09-01, two runs ~62s each). 300s + // matches the product default so cold start no longer races the budget. + ' timeoutMs: 300000', ' disposeGraceMs: 500', "- name: '@deepseek-ai/dsh-tool-pwsh-persistent'", ' config:', - ' timeoutMs: 60000', + ' timeoutMs: 300000', '', ].join('\n')) @@ -166,5 +171,5 @@ describe.skipIf(!hasPwsh)('persistent pwsh through a real cordis.yml Loader comp const exited = text(await execute('exit', 'exit')) expect(exited).toContain('next pwsh call starts from the workspace') expect(text(await execute('after-exit', 'Write-Output "$PWD"'))).toBe(root) - }, 120_000) + }, 300_000) })