Fixed progress indicator for zig test (#10859)

Previously the progress displayed the first item as [0/x]. This was
misleading when x is the number of items. The first item should be
displayed as [1/x]
This commit is contained in:
Sebsatian Keller 2022-02-13 14:19:33 +01:00 committed by GitHub
parent f516e2c5b1
commit f22443bb05
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 4 deletions

View File

@ -261,6 +261,7 @@ fn refreshWithHeldLock(self: *Progress) void {
need_ellipse = false;
const eti = @atomicLoad(usize, &node.unprotected_estimated_total_items, .Monotonic);
const completed_items = @atomicLoad(usize, &node.unprotected_completed_items, .Monotonic);
const current_item = completed_items + 1;
if (node.name.len != 0 or eti > 0) {
if (node.name.len != 0) {
self.bufWrite(&end, "{s}", .{node.name});
@ -268,11 +269,11 @@ fn refreshWithHeldLock(self: *Progress) void {
}
if (eti > 0) {
if (need_ellipse) self.bufWrite(&end, " ", .{});
self.bufWrite(&end, "[{d}/{d}] ", .{ completed_items, eti });
self.bufWrite(&end, "[{d}/{d}] ", .{ current_item, eti });
need_ellipse = false;
} else if (completed_items != 0) {
if (need_ellipse) self.bufWrite(&end, " ", .{});
self.bufWrite(&end, "[{d}] ", .{completed_items});
self.bufWrite(&end, "[{d}] ", .{current_item});
need_ellipse = false;
}
}

View File

@ -82,18 +82,18 @@ pub fn main() void {
} else |err| switch (err) {
error.SkipZigTest => {
skip_count += 1;
test_node.end();
progress.log("{s}... SKIP\n", .{test_fn.name});
if (!have_tty) std.debug.print("SKIP\n", .{});
test_node.end();
},
else => {
fail_count += 1;
test_node.end();
progress.log("{s}... FAIL ({s})\n", .{ test_fn.name, @errorName(err) });
if (!have_tty) std.debug.print("FAIL ({s})\n", .{@errorName(err)});
if (@errorReturnTrace()) |trace| {
std.debug.dumpStackTrace(trace.*);
}
test_node.end();
},
}
}