zig/lib/std/Build
mlugg 1a99c99ee9 std.Build: gracefully handle child stdin closing when running tests
We have deduced that it seems the sporadic BrokenPipe failures happening
on the CI runners (e.g.
https://github.com/ziglang/zig/actions/runs/12035916948/job/33555963190)
are likely caused by the test runner's stdin pipe abnormally closing,
likely due to the process crashing. Here, we introduce error handling
for this case, so that if these writes fail, the step is marked as
failed correctly, and we still collect the child's stderr to report.
This won't fix the CI issues, but it should promote them to proper error
messages including child stderr, which -- at least in theory -- should
allow us to ultimately track down where the errors come from.

Note that this change is desirable regardless of bugs in the test runner
or similar, since the child process could terminate abnormally for any
number of reasons (e.g. a crashing test), and such cases should be
correctly reported by the build runner.
2024-11-27 19:35:31 +00:00
..
Cache std.Build.Cache.Path: fix single-quote escaping format 2024-10-10 14:21:52 -07:00
Fuzz Replace deprecated default initializations with decl literals 2024-09-12 16:01:23 +01:00
Step std.Build: gracefully handle child stdin closing when running tests 2024-11-27 19:35:31 +00:00
Cache.zig std.Target: Add support for specifying Android API level. 2024-11-01 06:23:59 +01:00
Fuzz.zig Replace deprecated default initializations with decl literals 2024-09-12 16:01:23 +01:00
Module.zig std.Target: Move isLib{C,Cxx}LibName() to std.zig.target. 2024-10-16 22:25:13 +02:00
Step.zig diversify "unable to spawn" failure messages 2024-11-26 13:56:40 -08:00
Watch.zig std.Build.Watch: implement removing watches for kqueue 2024-10-24 23:31:56 -07:00