aboutsummaryrefslogtreecommitdiff
path: root/std/special/test_runner.zig
diff options
context:
space:
mode:
authorAndrea Orru <andrea@orru.io>2018-08-06 01:43:19 -0400
committerAndrea Orru <andrea@orru.io>2018-08-06 01:43:19 -0400
commitd2f5e57b68da0b16e5789ca19045ccbcb4ecfa8d (patch)
treee9fa3caec533a0d1e2b434868b2fde1f9240e5c8 /std/special/test_runner.zig
parent06614b3fa09954464c2e2f32756cacedc178a282 (diff)
parent63a23e848a62d5f167f8d5478de9766cb24aa6eb (diff)
downloadzig-d2f5e57b68da0b16e5789ca19045ccbcb4ecfa8d.tar.gz
zig-d2f5e57b68da0b16e5789ca19045ccbcb4ecfa8d.zip
Merge branch 'master' into zen_stdlib
Diffstat (limited to 'std/special/test_runner.zig')
-rw-r--r--std/special/test_runner.zig20
1 files changed, 17 insertions, 3 deletions
diff --git a/std/special/test_runner.zig b/std/special/test_runner.zig
index 76a54a5018..857739e82d 100644
--- a/std/special/test_runner.zig
+++ b/std/special/test_runner.zig
@@ -5,11 +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);
- try test_fn.func();
-
- 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);
}
}