summaryrefslogtreecommitdiffhomepage
path: root/packages/app
diff options
context:
space:
mode:
Diffstat (limited to 'packages/app')
-rw-r--r--packages/app/e2e/backend.ts10
1 files changed, 7 insertions, 3 deletions
diff --git a/packages/app/e2e/backend.ts b/packages/app/e2e/backend.ts
index 9febc4b3f..a03d1d437 100644
--- a/packages/app/e2e/backend.ts
+++ b/packages/app/e2e/backend.ts
@@ -44,8 +44,12 @@ async function waitForHealth(url: string, probe = "/global/health") {
throw new Error(`Timed out waiting for backend health at ${url}${probe}${last ? ` (${last})` : ""}`)
}
+function done(proc: ReturnType<typeof spawn>) {
+ return proc.exitCode !== null || proc.signalCode !== null
+}
+
async function waitExit(proc: ReturnType<typeof spawn>, timeout = 10_000) {
- if (proc.exitCode !== null) return
+ if (done(proc)) return
await Promise.race([
new Promise<void>((resolve) => proc.once("exit", () => resolve())),
new Promise<void>((resolve) => setTimeout(resolve, timeout)),
@@ -123,11 +127,11 @@ export async function startBackend(label: string, input?: { llmUrl?: string }):
return {
url,
async stop() {
- if (proc.exitCode === null) {
+ if (!done(proc)) {
proc.kill("SIGTERM")
await waitExit(proc)
}
- if (proc.exitCode === null) {
+ if (!done(proc)) {
proc.kill("SIGKILL")
await waitExit(proc)
}