From ab6b0ad8a4f858c8e4e5591b2383156eab8ac0e4 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Mon, 17 May 2021 15:28:22 -0700 Subject: [PATCH] test runner: prepare stage2 workaround This provides a simpler test runner that exercises fewer language features so that we can get to the point faster where `zig test` works for stage2. --- lib/std/special/test_runner.zig | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/std/special/test_runner.zig b/lib/std/special/test_runner.zig index 7d03e4b059..d78de41436 100644 --- a/lib/std/special/test_runner.zig +++ b/lib/std/special/test_runner.zig @@ -22,6 +22,9 @@ fn processArgs() void { } pub fn main() anyerror!void { + if (builtin.zig_is_stage2) { + return main2(); + } processArgs(); const test_fn_list = builtin.test_functions; var ok_count: usize = 0; @@ -123,3 +126,10 @@ pub fn log( std.debug.print("[{s}] ({s}): " ++ format ++ "\n", .{ @tagName(scope), @tagName(message_level) } ++ args); } } + +pub fn main2() anyerror!void { + // Simpler main(), exercising fewer language features, so that stage2 can handle it. + for (builtin.test_functions) |test_fn| { + try test_fn.func(); + } +}