6a863e3d
test: the comm leg says what it pins, and what folder rule 5 pins instead
a73x 2026-08-29 00:44
Commit message
test/e2e_04_handoff.sh
| Old | New | ||
|---|---|---|---|
| @@ -127,10 +127,11 @@ HSHIMS=$(wc -l < "$SSHIM_PIDLOG") | |||
| 127 | echo " (mux d endpoint on an empty box, mux d start, mux d endpoint)" | 127 | echo " (mux d endpoint on an empty box, mux d start, mux d endpoint)" |
| 128 | cat "$SSHIM_PIDLOG"; exit 1; } | 128 | cat "$SSHIM_PIDLOG"; exit 1; } |
| 129 | # Asked of /proc, not of the client: every one of those three children was | 129 | # Asked of /proc, not of the client: every one of those three children was |
| 130 | # `ssh` itself, forked straight off `mux` with no shell in between. The | 130 | # `ssh` itself, sitting directly under `mux`. What this does NOT catch is a |
| 131 | # claim is the whole point of the argv recipe — a `/bin/sh -c` line would | 131 | # `/bin/sh -c` line put back — bash and dash both exec a single simple |
| 132 | # put `sh` in one column or the other, and on a box whose sh exec-optimises | 132 | # command in place, so the shell is gone by the time /proc is read. That |
| 133 | # it is the PARENT column that keeps it honest. | 133 | # regression is build.zig folder rule 5's, measured there; this leg pins the |
| 134 | # shape the rule cannot see, that the argv reaches a real ssh unmangled. | ||
| 134 | HBADCOMM=$(grep -cv '^ssh mux$' "$SSHIM_COMMLOG" || true) | 135 | HBADCOMM=$(grep -cv '^ssh mux$' "$SSHIM_COMMLOG" || true) |
| 135 | [ "$HBADCOMM" -eq 0 ] || { | 136 | [ "$HBADCOMM" -eq 0 ] || { |
| 136 | echo "e2e FAIL: the handoff spawned something other than ssh straight off mux:" | 137 | echo "e2e FAIL: the handoff spawned something other than ssh straight off mux:" |