aboutsummaryrefslogtreecommitdiff
path: root/std/test_runner.zig
blob: e80a061ff651708cccb1048c7db3d69430de0517 (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
const io = @import("std").io;

const TestFn = struct {
    name: []u8,
    func: extern fn(),
};

extern var zig_test_fn_list: []TestFn;

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(" ");
        %%io.stderr.write(testFn.name);
        %%io.stderr.write("...");
        %%io.stderr.flush();

        testFn.func();


        %%io.stderr.write("OK\n");
        %%io.stderr.flush();
    }
}