Summary
Two test files leave real resources running past their own end. Distinct from the mock leakage in #2270 (this is unclosed resources, not unrestored mocks), same root consequence: state that outlives the file in a shared bun test process.
1. A real HTTP server left bound to :48080
packages/rpx/test/start-single-proxy-production-certs.test.ts:42
The test spies createSharedProxyServer and startServer, but not startHttpRedirectServer. So Start.startProxies({ httpPort: 48080, … }) reaches src/start.ts:1295-1301, calls .listen(48080) and registers it via activeServers.add (src/start.ts:710). The only afterEach (lines 22-26) just rms the temp dir — Start.cleanup() is never called, so the listener and its fd are held for the remainder of the process.
The silent trap: a later startProxies({ httpPort: 48080 }) sees isPortInUse === true at src/start.ts:1295, skips starting its own redirect server, and its redirect/ACME assertions then talk to this file's leftover.
This is already observable locally — a full-suite run prints:
[error] Shared HTTPS proxy failed to bind :48443; not exitingIt harms nothing on macOS only because this file sorts last (#47). One readdir or hash difference away from landing before websocket-proxy.test.ts or any startProxies caller.
Fix: stop the server in an afterEach (call Start.cleanup(), or capture and close the returned server).
2. An untracked SiteSupervisor
packages/rpx/test/site-supervisor.test.ts:267
The SiteSupervisor built in 'stopAll signals every running site' is the only one of eight never pushed to supervisors (compare lines 70, 95, 129, 155, 188, 217, 247), so the afterEach at line 55 cannot reach it. Its 30s setInterval reaper and readiness loop are cleaned up only on the success path.
If that test throws or times out, a live 30s interval plus a readiness loop survive into later files, and the loop eventually emits a log.warn attributed to whatever file is running then.
Fix: supervisors.push(...) it like the other seven.
Note
Item 2 interacts with the shutdown bug filed separately — the stray warn that surfaces under another file's name has its own cause in src/site-supervisor.ts.