Skip to content

v0.9.157

Choose a tag to compare

@github-actions github-actions released this 05 Sep 10:39
· 24 commits to main since this release
v0.9.157
3643652

Patch Changes

  • #926 c84e30e Resolve the behavior suite's temporary HOME so its path assertions hold on macOS.

    tmpdir() there is the /var symlink to /private/var. Rove reports the real path, so every test comparing a path it built against one Rove printed differed by that prefix and failed locally while passing on Linux CI. — @Sma1lboy

  • #925 f5d5dba Stop the bound-delivery routine tests from failing, and leaking a spinning shell, on a machine with a slow login shell.

    The precheck they start runs through an interactive login shell, which spends a second or two sourcing rc files before it reaches the command. vitest's default one-second waitFor expired first, so the test failed before writing the file its precheck spins on — leaving a shell forking sleep a hundred times a second with nothing left that would ever release it. The wait now allows for shell startup, and the release is written even when an assertion throws. — @Sma1lboy

  • #924 6e305a7 Bound a routine precheck inside the shell that runs it, so it cannot outlive the daemon.

    A precheck's timeout lived only in a setTimeout on the daemon side. A daemon that was SIGKILLed took that timer with it and left the shell running with nothing that would ever stop it — a precheck shaped like while [ ! -f flag ]; do sleep 0.01; done then span at roughly a hundred forks a second until the machine was rebooted. Thirty-three such orphans held a Mac at load 170 with 86% of its CPU in the kernel.

    The spawned shell now carries the same deadline itself, and a timeout kills its whole process group rather than the shell alone, so a command's own children (gh pr list | grep …) go with it. — @Sma1lboy