( proc: ExitableProcess, getExitCode: () => number, graceMs: number = HEADLESS_FORCE_EXIT_GRACE_MS, )
| 27 | * Returns the timer handle so callers/tests can `clearTimeout` it. |
| 28 | */ |
| 29 | export function scheduleHeadlessForceExit( |
| 30 | proc: ExitableProcess, |
| 31 | getExitCode: () => number, |
| 32 | graceMs: number = HEADLESS_FORCE_EXIT_GRACE_MS, |
| 33 | ): NodeJS.Timeout { |
| 34 | const timer = setTimeout(() => { |
| 35 | proc.exit(getExitCode()); |
| 36 | }, graceMs); |
| 37 | timer.unref?.(); |
| 38 | return timer; |
| 39 | } |
| 40 | |
| 41 | /** Resolve once a stream's currently-buffered writes have flushed to its sink. */ |
| 42 | function flushStream(stream: Writable): Promise<void> { |
no test coverage detected