diff --git a/std/event/tcp.zig b/std/event/tcp.zig index 5151ecf9344d085c9d375c74b022610d415deaee..1542538082eeb6e9871e988dd33d923dd3d0d57d 100644 --- a/std/event/tcp.zig +++ b/std/event/tcp.zig @@ -123,10 +123,17 @@ pub async fn connect(loop: *Loop, _address: *const std.net.Address) !std.os.File } test "listen on a port, send bytes, receive bytes" { - if (builtin.os != builtin.Os.linux) { - // TODO build abstractions for other operating systems - return; + // 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; } + const MyServer = struct { tcp_server: Server, diff --git a/std/special/test_runner.zig b/std/special/test_runner.zig index 76a54a5018da9bc4b8ae9df456256618968dc8dd..46ed7e23e998d597db6c88aa1cd6693fa2109341 100644 --- a/std/special/test_runner.zig +++ b/std/special/test_runner.zig @@ -8,7 +8,13 @@ pub fn main() !void { for (test_fn_list) |test_fn, i| { warn("Test {}/{} {}...", i + 1, test_fn_list.len, test_fn.name); - try test_fn.func(); + test_fn.func() catch |err| { + if (err == error.skip) { + warn("SKIPPED\n"); + continue; + } + return err; + }; warn("OK\n"); }