deferred: T27 sweep test leaves two sleep 60 children; the fix is a process-group kill in both t.after hooks (row 251 landing d37210288, darkwing-0117, Dewey c30168)
This commit is contained in:
1 parent
d372102882
commit
25ffaae832
1 file changed
+16
@@ -360,6 +360,22 @@ at every gate. Started 2026-09-12 during the control board MVP.
|
||||
do nothing yet. The row that adds the Console library routes decides
|
||||
whether the tester listener gets `library.sync`. Duckworth's view is
|
||||
that it shouldn't, because sync is a human write. (2026-10-21)
|
||||
- **T27 sweep test leaves two `sleep 60` children running.**
|
||||
(Darkwing row 251 slot, darkwing-0113 and darkwing-0117; Dewey on
|
||||
r2, comment 30168.) The sweep test spawns two detached shells,
|
||||
`planted` at `host-run.test.mjs:528` and `decoy` at `:536`, each
|
||||
running `sleep 60; :` with the run dir as `$0`. `sweepRunDir` kills
|
||||
the planted shell by pid (`host-run.mjs:238`), and `t.after` kills
|
||||
only the decoy shell. Neither kill reaches the `sleep` child, so each
|
||||
one lives for up to 60 s after the test and trips any busy check that
|
||||
follows. The fix is to kill the process group in both `t.after`
|
||||
hooks: `process.kill(-pid, 'SIGKILL')`. Each shell is spawned
|
||||
detached, so it leads its own group. `exec sleep 60` doesn't work.
|
||||
The sweep matches the run dir in `/proc/<pid>/cmdline`
|
||||
(`host-run.mjs:236`), and exec drops the `$0` that carries it, so the
|
||||
planted process would survive and the "planted process killed" assert
|
||||
would fail. This binds the next row that touches
|
||||
`packages/bus/tests/host-run.test.mjs`. (2026-10-21)
|
||||
|
||||
## Queue
|
||||
|
||||
|
||||
Reference in new issue
Block a user