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

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

extern var zig_test_fn_list: []TestFn;

pub fn run_tests() -> %void {
    for (zig_test_fn_list) |test_fn, i| {
        %%io.stderr.write("Test ");
        %%io.stderr.print_i64(i + 1);
        %%io.stderr.write("/");
        %%io.stderr.print_i64(zig_test_fn_list.len);
        %%io.stderr.write(" ");
        %%io.stderr.write(test_fn.name);
        %%io.stderr.write("...");
        %%io.stderr.flush();

        test_fn.func();


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