zig/std/test_runner.zig

29 lines
673 B
Zig
Raw Normal View History

const io = @import("std").io;
const TestFn = struct {
name: []u8,
func: extern fn(),
};
2016-02-04 09:38:09 +08:00
extern var zig_test_fn_list: []TestFn;
2016-08-17 13:42:50 +08:00
pub fn runTests() -> %void {
for (zig_test_fn_list) |testFn, i| {
// TODO: print var args
%%io.stderr.write("Test ");
%%io.stderr.printInt(@typeOf(i), i + 1);
%%io.stderr.write("/");
%%io.stderr.printInt(@typeOf(zig_test_fn_list.len), zig_test_fn_list.len);
%%io.stderr.write(" ");
2016-08-17 13:42:50 +08:00
%%io.stderr.write(testFn.name);
%%io.stderr.write("...");
%%io.stderr.flush();
2016-08-17 13:42:50 +08:00
testFn.func();
%%io.stderr.write("OK\n");
%%io.stderr.flush();
}
}