authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-05-24 10:33:35-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-05-27 20:56:48-07:00
log795c5791a962e4d4b46fa9fd0470fe8162d65521
tree1c79de1dff485e13e03f7e97eb8dc5b55f4ec36b
parentf97c2f28fdc3061bc7e30ccfcafaccbee77993b6

test runner: update to new std.Progress API


1 files changed, 19 insertions(+), 12 deletions(-)

lib/compiler/test_runner.zig+19-12
......@@ -129,12 +129,11 @@ fn mainTerminal() void {
129129 var ok_count: usize = 0;
130130 var skip_count: usize = 0;
131131 var fail_count: usize = 0;
132 var progress = std.Progress{
133 .dont_print_on_dumb = true,
134 };
135 const root_node = progress.start("Test", test_fn_list.len);
136 const have_tty = progress.terminal != null and
137 (progress.supports_ansi_escape_codes or progress.is_windows_terminal);
132 const root_node = std.Progress.start(.{
133 .root_name = "Test",
134 .estimated_total_items = test_fn_list.len,
135 });
136 const have_tty = std.io.getStdErr().isTty();
138137
139138 var async_frame_buffer: []align(builtin.target.stackAlignment()) u8 = undefined;
140139 // TODO this is on the next line (using `undefined` above) because otherwise zig incorrectly
......@@ -151,11 +150,9 @@ fn mainTerminal() void {
151150 }
152151 std.testing.log_level = .warn;
153152
154 var test_node = root_node.start(test_fn.name, 0);
155 test_node.activate();
156 progress.refresh();
153 const test_node = root_node.start(test_fn.name, 0);
157154 if (!have_tty) {
158 std.debug.print("{d}/{d} {s}... ", .{ i + 1, test_fn_list.len, test_fn.name });
155 std.debug.print("{d}/{d} {s}...", .{ i + 1, test_fn_list.len, test_fn.name });
159156 }
160157 if (test_fn.func()) |_| {
161158 ok_count += 1;
......@@ -164,12 +161,22 @@ fn mainTerminal() void {
164161 } else |err| switch (err) {
165162 error.SkipZigTest => {
166163 skip_count += 1;
167 progress.log("SKIP\n", .{});
164 if (have_tty) {
165 std.debug.print("{d}/{d} {s}...SKIP\n", .{ i + 1, test_fn_list.len, test_fn.name });
166 } else {
167 std.debug.print("SKIP\n", .{});
168 }
168169 test_node.end();
169170 },
170171 else => {
171172 fail_count += 1;
172 progress.log("FAIL ({s})\n", .{@errorName(err)});
173 if (have_tty) {
174 std.debug.print("{d}/{d} {s}...FAIL ({s})\n", .{
175 i + 1, test_fn_list.len, test_fn.name, @errorName(err),
176 });
177 } else {
178 std.debug.print("FAIL ({s})\n", .{@errorName(err)});
179 }
173180 if (@errorReturnTrace()) |trace| {
174181 std.debug.dumpStackTrace(trace.*);
175182 }