authorgravatar for cnx@loang.netNguyễn Gia Phong <cnx@loang.net> 2024-02-28 11:08:53+09:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2024-03-15 16:45:58+02:00
logf13401ac695e2e79cda40b2a6f5cf6906fca5623
tree1ec8af65277d8b56a8e3d31622709199e4c86648
parent4b1edad6e2186999ea5f88b4a7a26ff8d800a6e8

Fix stuttering stderr in Zig test log

Before this fix, the stderr FIFO was advanced by the length of the trimmed message, thus the next error log contained the tail of that message.

1 files changed, 3 insertions(+), 2 deletions(-)

lib/std/Build/Step/Run.zig+3-2
......@@ -1181,7 +1181,9 @@ fn evalZigTest(
11811181
11821182 if (tr_hdr.flags.fail or tr_hdr.flags.leak or tr_hdr.flags.log_err_count > 0) {
11831183 const name = std.mem.sliceTo(md.string_bytes[md.names[tr_hdr.index]..], 0);
1184 const msg = std.mem.trim(u8, stderr.readableSlice(0), "\n");
1184 const orig_msg = stderr.readableSlice(0);
1185 defer stderr.discard(orig_msg.len);
1186 const msg = std.mem.trim(u8, orig_msg, "\n");
11851187 const label = if (tr_hdr.flags.fail)
11861188 "failed"
11871189 else if (tr_hdr.flags.leak)
......@@ -1195,7 +1197,6 @@ fn evalZigTest(
11951197 } else {
11961198 try self.step.addError("'{s}' {s}", .{ name, label });
11971199 }
1198 stderr.discard(msg.len);
11991200 }
12001201
12011202 try requestNextTest(child.stdin.?, &metadata.?, &sub_prog_node);