blob: 001b26ebb063eb03a6206a69e895044d675b4cfe (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
const std = @import("std");
const io = std.io;
const builtin = @import("builtin");
const test_fn_list = builtin.test_functions;
pub fn main() void {
const stderr = io.getStdErr() catch std.process.abort();
var ok_count: usize = 0;
var skip_count: usize = 0;
for (test_fn_list) |test_fn, i| {
stderr.write("test ") catch std.process.abort();
stderr.write(test_fn.name) catch std.process.abort();
if (test_fn.func()) |_| {
ok_count += 1;
stderr.write("...OK\n") catch std.process.abort();
} else |err| switch (err) {
error.SkipZigTest => {
skip_count += 1;
stderr.write("...SKIP\n") catch std.process.abort();
},
else => {
stderr.write("error: ") catch std.process.abort();
stderr.write(@errorName(err)) catch std.process.abort();
std.process.abort();
},
}
}
if (ok_count == test_fn_list.len) {
stderr.write("All tests passed.\n") catch std.process.abort();
} else {
stderr.write("Some tests skipped.\n") catch std.process.abort();
}
}
|