| ... | ... | @@ -129,12 +129,11 @@ fn mainTerminal() void { |
| 129 | 129 | var ok_count: usize = 0; |
| 130 | 130 | var skip_count: usize = 0; |
| 131 | 131 | 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(); |
| 138 | 137 | |
| 139 | 138 | var async_frame_buffer: []align(builtin.target.stackAlignment()) u8 = undefined; |
| 140 | 139 | // TODO this is on the next line (using `undefined` above) because otherwise zig incorrectly |
| ... | ... | @@ -151,11 +150,9 @@ fn mainTerminal() void { |
| 151 | 150 | } |
| 152 | 151 | std.testing.log_level = .warn; |
| 153 | 152 | |
| 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); |
| 157 | 154 | 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 }); |
| 159 | 156 | } |
| 160 | 157 | if (test_fn.func()) |_| { |
| 161 | 158 | ok_count += 1; |
| ... | ... | @@ -164,12 +161,22 @@ fn mainTerminal() void { |
| 164 | 161 | } else |err| switch (err) { |
| 165 | 162 | error.SkipZigTest => { |
| 166 | 163 | 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 | } |
| 168 | 169 | test_node.end(); |
| 169 | 170 | }, |
| 170 | 171 | else => { |
| 171 | 172 | 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 | } |
| 173 | 180 | if (@errorReturnTrace()) |trace| { |
| 174 | 181 | std.debug.dumpStackTrace(trace.*); |
| 175 | 182 | } |