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(...@@ -1181,7 +1181,9 @@ fn evalZigTest(
11811181
1182 if (tr_hdr.flags.fail or tr_hdr.flags.leak or tr_hdr.flags.log_err_count > 0) {1182 if (tr_hdr.flags.fail or tr_hdr.flags.leak or tr_hdr.flags.log_err_count > 0) {
1183 const name = std.mem.sliceTo(md.string_bytes[md.names[tr_hdr.index]..], 0);1183 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");
1185 const label = if (tr_hdr.flags.fail)1187 const label = if (tr_hdr.flags.fail)
1186 "failed"1188 "failed"
1187 else if (tr_hdr.flags.leak)1189 else if (tr_hdr.flags.leak)
...@@ -1195,7 +1197,6 @@ fn evalZigTest(...@@ -1195,7 +1197,6 @@ fn evalZigTest(
1195 } else {1197 } else {
1196 try self.step.addError("'{s}' {s}", .{ name, label });1198 try self.step.addError("'{s}' {s}", .{ name, label });
1197 }1199 }
1198 stderr.discard(msg.len);
1199 }1200 }
12001201
1201 try requestNextTest(child.stdin.?, &metadata.?, &sub_prog_node);1202 try requestNextTest(child.stdin.?, &metadata.?, &sub_prog_node);