From 045ea7bf6a94a90cca91c6bd0bb2733cdea7e253 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Wed, 15 Apr 2026 22:43:28 +0100 Subject: [PATCH] test(parallels): clean up npm update guard jobs --- scripts/e2e/parallels-npm-update-smoke.sh | 4 +++- test/scripts/parallels-npm-update-smoke.test.ts | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 test/scripts/parallels-npm-update-smoke.test.ts diff --git a/scripts/e2e/parallels-npm-update-smoke.sh b/scripts/e2e/parallels-npm-update-smoke.sh index 9f47c75cf07..b1f549af1bc 100755 --- a/scripts/e2e/parallels-npm-update-smoke.sh +++ b/scripts/e2e/parallels-npm-update-smoke.sh @@ -67,6 +67,7 @@ die() { cleanup() { if [[ -n "${SERVER_PID:-}" ]]; then kill "$SERVER_PID" >/dev/null 2>&1 || true + wait "$SERVER_PID" 2>/dev/null || true fi rm -rf "$MAIN_TGZ_DIR" } @@ -662,7 +663,7 @@ start_timeout_guard() { sleep 2 kill -9 "$pid" >/dev/null 2>&1 || true fi - ) & + ) >&2 & printf '%s\n' "$!" } @@ -670,6 +671,7 @@ stop_timeout_guard() { local pid="${1:-}" [[ -n "$pid" ]] || return 0 kill "$pid" >/dev/null 2>&1 || true + wait "$pid" 2>/dev/null || true } extract_log_progress() { diff --git a/test/scripts/parallels-npm-update-smoke.test.ts b/test/scripts/parallels-npm-update-smoke.test.ts new file mode 100644 index 00000000000..c0d483a2085 --- /dev/null +++ b/test/scripts/parallels-npm-update-smoke.test.ts @@ -0,0 +1,14 @@ +import { readFileSync } from "node:fs"; +import { describe, expect, it } from "vitest"; + +const SCRIPT_PATH = "scripts/e2e/parallels-npm-update-smoke.sh"; + +describe("parallels npm update smoke", () => { + it("does not leave guard/server children attached to the wrapper", () => { + const script = readFileSync(SCRIPT_PATH, "utf8"); + + expect(script).toContain('wait "$SERVER_PID" 2>/dev/null || true'); + expect(script).toContain(") >&2 &"); + expect(script).toContain('wait "$pid" 2>/dev/null || true'); + }); +});