fix(tui): prevented test env from suppressing interactive launch

Scoped test-runtime detection to explicit runner markers and Bun test entrypoints, so application NODE_ENV/BUN_ENV values no longer make ProcessTerminal headless.

Added subprocess regression coverage and propagated the private marker to test children.

Fixes #7261
This commit is contained in:
roboomp
2026-08-01 11:39:57 +00:00
parent 8baa3300bc
commit 9f9c9758a1
7 changed files with 54 additions and 5 deletions
+4 -3
View File
@@ -467,9 +467,9 @@ async function runTestCommand(testCommand: TestCommand): Promise<void> {
}
}
// Child env shared by every spawned test process: the parent env with all CI
// credential / cloud-config variables scrubbed (see SCRUBBED_ENV_* above) and
// GITHUB_ACTIONS cleared so suites resolve only against their own fixtures.
// Child env shared by every spawned test process: the parent env with the
// private test-runtime marker set, all CI credential / cloud-config variables
// scrubbed (see SCRUBBED_ENV_* above), and GITHUB_ACTIONS cleared.
//
// GC knobs (both needed — they gate different JSC mechanisms):
// - `BUN_JSC_useConcurrentGC=0` stops the collector from marking concurrently
@@ -493,6 +493,7 @@ function buildChildEnv(): Record<string, string | undefined> {
const env: Record<string, string | undefined> = {
...Bun.env,
GITHUB_ACTIONS: "",
PI_TEST_RUNTIME: "1",
BUN_JSC_useConcurrentGC: "0",
BUN_JSC_numberOfGCMarkers: "1",
};