test(windows): eliminate final coverage races

This commit is contained in:
Tianyi Cui
2026-08-09 05:03:18 +08:00
parent 91cae30fc5
commit 2ce8d88a4d
6 changed files with 47 additions and 15 deletions
@@ -95,6 +95,7 @@ type StubMode =
| 'spawn-error'
| 'send-error'
| 'prompt-after-idle'
| 'incremental-fallback'
| 'empty-page-after-latest'
| 'paged-scrollback'
@@ -166,6 +167,10 @@ class StubPtySession implements PtyBackendSession {
this.pendingText = ''
const start = /__DSH_PERSISTENT_BASH_START_[^_]+(?:-[^_]+)*__/.exec(sent)?.[0]
const end = /__DSH_PERSISTENT_BASH_END_[^:]+:/.exec(sent)?.[0]
if (this.mode === 'incremental-fallback') {
const incremental = `${start ?? ''}\nincrement\n${this.motd}`
return this.operation(Promise.resolve(this.result(this.motd, 'stdin_read')), incremental)
}
if (this.mode === 'torn-status') {
const output = `${start ?? ''}\nhello from stub\n${end ?? ''}`
this.scrollback += output
@@ -251,10 +256,10 @@ class StubPtySession implements PtyBackendSession {
return { viewport, waitReason, sessionStatus: this.statusValue, truncated: false }
}
private operation(done: Promise<ReturnType<StubPtySession['result']>>): PtySendOperation {
private operation(done: Promise<ReturnType<StubPtySession['result']>>, delta = ''): PtySendOperation {
return {
done,
readOutput: () => ({ delta: '', truncated: false }),
readOutput: () => ({ delta, truncated: false }),
cancel: () => false,
}
}
@@ -331,6 +336,10 @@ describe('tool-bash-persistent', () => {
session.mode = 'idle-then-normal'
expect(text(await call(ctx, owner, 'silent then complete'))).toContain('hello from')
session.mode = 'incremental-fallback'
session.scrollback = ''
expect(text(await call(ctx, owner, 'incremental fallback'))).toBe('increment')
session.mode = 'prompt-only'
const promptFallback = text(await call(ctx, owner, 'bad {'))
expect(promptFallback).toContain('bash: synt')