mirror of
https://github.com/deepseek-ai/deepseek-harness.git
synced 2026-08-29 04:26:38 +00:00
test(subprocess): restore host-exit readiness handshake
This commit is contained in:
@@ -13,6 +13,7 @@ if ((kind !== 'ordinary' && kind !== 'terminal')
|
||||
}
|
||||
|
||||
const treeState = join(root, 'tree.json')
|
||||
const ready = join(root, 'ready')
|
||||
const proceed = join(root, 'proceed')
|
||||
const managedTree = fileURLToPath(new URL('./managed-tree.ts', import.meta.url))
|
||||
|
||||
@@ -57,6 +58,7 @@ const published = JSON.parse(await readFile(treeState, 'utf8')) as { root?: unkn
|
||||
if (!Number.isSafeInteger(published.root) || !Number.isSafeInteger(published.descendant)) {
|
||||
throw new Error('managed tree published invalid process ids')
|
||||
}
|
||||
await writeFile(ready, 'ready')
|
||||
await waitForFile(proceed)
|
||||
|
||||
if (trigger === 'dispose') {
|
||||
|
||||
@@ -107,6 +107,10 @@ async function runScenario(kind: ManagedKind, trigger: ExitTrigger) {
|
||||
let treeGone = false
|
||||
try {
|
||||
state = await readTree(join(root, 'tree.json'))
|
||||
await vi.waitFor(() => readFile(join(root, 'ready'), 'utf8'), {
|
||||
interval: 10,
|
||||
timeout: scenarioTimeoutMs,
|
||||
})
|
||||
if (process.platform !== 'win32') identities = await captureIdentities(createProcessInspector(), state)
|
||||
await writeFile(join(root, 'proceed'), 'proceed')
|
||||
const outcome = await child
|
||||
|
||||
Reference in New Issue
Block a user