From 441335ee3e204917cb6fbfa238a8001ef63838a4 Mon Sep 17 00:00:00 2001 From: Drew Ritter Date: Wed, 10 Jun 2026 19:37:30 -0700 Subject: [PATCH] Fix companion test cleanup and argv assertions --- tests/brainstorm-server/auth.test.js | 5 ++++- tests/brainstorm-server/start-server.test.sh | 7 +++---- tests/brainstorm-server/windows-lifecycle.test.sh | 6 +++--- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/tests/brainstorm-server/auth.test.js b/tests/brainstorm-server/auth.test.js index f6158c90..fc5bb79e 100644 --- a/tests/brainstorm-server/auth.test.js +++ b/tests/brainstorm-server/auth.test.js @@ -298,7 +298,10 @@ async function runTests() { }); console.log(`\n--- Results: ${passed} passed, ${failed} failed ---`); - if (failed > 0) process.exit(1); + if (failed > 0) { + process.exitCode = 1; + return; + } } finally { server.kill(); await sleep(100); diff --git a/tests/brainstorm-server/start-server.test.sh b/tests/brainstorm-server/start-server.test.sh index 100e9b24..a4802dab 100644 --- a/tests/brainstorm-server/start-server.test.sh +++ b/tests/brainstorm-server/start-server.test.sh @@ -48,7 +48,7 @@ make_fake_uname "$TEST_DIR/fake-bin" cat > "$TEST_DIR/fake-bin/node" <<'EOF' #!/usr/bin/env bash echo "CAPTURED_OWNER_PID=${BRAINSTORM_OWNER_PID:-__UNSET__}" -echo "CAPTURED_ARGV=$*" +printf 'CAPTURED_ARGV=%s\n' "$@" exit 0 EOF chmod +x "$TEST_DIR/fake-bin/node" @@ -67,12 +67,11 @@ else "expected empty or unset, got '$owner_pid_value'" fi -captured_argv=$(echo "$captured" | grep "CAPTURED_ARGV=" | head -1 | sed 's/CAPTURED_ARGV=//') -if echo "$captured_argv" | grep -Eq -- '--brainstorm-server-id=[A-Za-z0-9_-]{32,64}'; then +if echo "$captured" | grep -Eq '^CAPTURED_ARGV=--brainstorm-server-id=[A-Za-z0-9_-]{32,64}$'; then pass "passes shell-safe server instance id argv" else fail "passes shell-safe server instance id argv" \ - "expected --brainstorm-server-id=, got: $captured_argv" + "expected exact --brainstorm-server-id= argv line, got: $captured" fi server_id_file=$(find "$TEST_DIR/project/.superpowers/brainstorm" -name server-instance-id -print 2>/dev/null | head -1) diff --git a/tests/brainstorm-server/windows-lifecycle.test.sh b/tests/brainstorm-server/windows-lifecycle.test.sh index 69f1d6f2..2a18495a 100755 --- a/tests/brainstorm-server/windows-lifecycle.test.sh +++ b/tests/brainstorm-server/windows-lifecycle.test.sh @@ -162,7 +162,7 @@ if [[ "$is_windows" == "true" ]]; then cat > "$FAKE_NODE_DIR/node" <<'FAKENODE' #!/usr/bin/env bash echo "CAPTURED_OWNER_PID=${BRAINSTORM_OWNER_PID:-__UNSET__}" -echo "CAPTURED_ARGV=$*" +printf 'CAPTURED_ARGV=%s\n' "$@" exit 0 FAKENODE chmod +x "$FAKE_NODE_DIR/node" @@ -177,8 +177,7 @@ FAKENODE "Expected empty or unset, got '$owner_pid_value'" fi - captured_argv=$(echo "$captured" | grep "CAPTURED_ARGV=" | head -1 | sed 's/CAPTURED_ARGV=//') - if echo "$captured_argv" | grep -Eq -- '--brainstorm-server-id=[A-Za-z0-9_-]{32,64}'; then + if echo "$captured" | grep -Eq '^CAPTURED_ARGV=--brainstorm-server-id=[A-Za-z0-9_-]{32,64}$'; then pass "start-server.sh passes server instance id argv on Windows" else fail "start-server.sh passes server instance id argv on Windows" \ @@ -360,6 +359,7 @@ echo "$STOP_TEST_PID" > "$TEST_DIR/stop-test/state/server.pid" if ! wait_for_server_info "$TEST_DIR/stop-test"; then fail "Stop-test server starts" "Server did not start" kill "$STOP_TEST_PID" 2>/dev/null || true + wait "$STOP_TEST_PID" 2>/dev/null || true STOP_TEST_PID="" else bash "$STOP_SCRIPT" "$TEST_DIR/stop-test" >/dev/null 2>&1 || true