diff --git a/std/event/tcp.zig b/std/event/tcp.zig index 154253808..416a8c07d 100644 --- a/std/event/tcp.zig +++ b/std/event/tcp.zig @@ -123,15 +123,9 @@ pub async fn connect(loop: *Loop, _address: *const std.net.Address) !std.os.File } test "listen on a port, send bytes, receive bytes" { - // TODO build abstractions for other operating systems - const skip_test: bool = switch (builtin.os) { - builtin.Os.linux => false, - //builtin.Os.macosx, builtin.Os.ios => false, - else => true, - }; - - if (skip_test == true) { - return error.skip; + if (builtin.os != builtin.Os.linux) { + // TODO build abstractions for other operating systems + return error.SkipZigTest; } const MyServer = struct { diff --git a/std/special/test_runner.zig b/std/special/test_runner.zig index 46ed7e23e..857739e82 100644 --- a/std/special/test_runner.zig +++ b/std/special/test_runner.zig @@ -5,17 +5,25 @@ const test_fn_list = builtin.__zig_test_fn_slice; const warn = std.debug.warn; pub fn main() !void { + var ok_count: usize = 0; + var skip_count: usize = 0; for (test_fn_list) |test_fn, i| { warn("Test {}/{} {}...", i + 1, test_fn_list.len, test_fn.name); - test_fn.func() catch |err| { - if (err == error.skip) { - warn("SKIPPED\n"); - continue; - } - return err; - }; - - warn("OK\n"); + if (test_fn.func()) |_| { + ok_count += 1; + warn("OK\n"); + } else |err| switch (err) { + error.SkipZigTest => { + skip_count += 1; + warn("SKIP\n"); + }, + else => return err, + } + } + if (ok_count == test_fn_list.len) { + warn("All tests passed.\n"); + } else { + warn("{} passed; {} skipped.\n", ok_count, skip_count); } }