You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 094217e
Browse filesBrowse the repository at this point in the historyBrowse files
test: stabilize interpreter subprocess fixtures (Fixes#557) (#558)
Replace freshly written executable fixtures with an existing shell and
inline commands, eliminating a reproduced `ETXTBSY` launch race without
changing production probe behavior.
- Preserve typed runner errors and assert command construction, exit
status, raw bytes, 128 KiB stderr, and actual timeout outcomes.
- Keep the existing deadlines and rejection semantics; add no retries or
skips.
- Record the fixture lesson in the existing Rust coding skill.
Validation: Linux 62 and Windows 57 utility tests, workspace
format/Clippy, Unix all-target Clippy, and independent review pass.
Identical concurrent Linux stress failed 8/100 batches with the original
fixture plus diagnostics and passed 100/100 with the fix. The original
CI failure did not record its errno, so that historical detail cannot be
established retrospectively.
Fixes#557
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
For parser helpers, include malformed input, non-ASCII surrounding data, and case variations. For diagnostics, test pattern classification and expansion filtering separately. Keep temp paths unique with `tempfile` or process/counter-based names.
95
95
96
-
Before every Rust commit, run targeted tests and invoke the `rust-precommit` skill. Keep that skill as the single source of truth for required format and Clippy commands.
96
+
Before every Rust commit, run targeted tests and invoke the `rust-precommit` skill. Keep that skill as the single source of truth for required format and Clippy commands.
97
+
98
+
## Learnings
99
+
100
+
Do not execute freshly written scripts as concurrent Unix subprocess fixtures: spawning can fail with `ETXTBSY` (Text file busy). Prefer an existing interpreter such as `/bin/sh -c` with an inline script, or the existing test executable. Assert the typed runner outcome before checking an optional parsed result, so a spawn failure cannot masquerade as a successful negative parsing or timeout test.
0 commit comments