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