From 8bd5681651f64c7ebe059e6d7b288ddc60658cd5 Mon Sep 17 00:00:00 2001 From: Michael Dusan Date: Mon, 9 Sep 2019 17:57:32 -0400 Subject: [PATCH] fix tests.addPkgTests to always run native target MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - include native-target when native-target ∉ cross_targets old behavior: - do nothing when `-Dskip-non-native` - never execute pkg tests for non-members of cross_targets --- test/tests.zig | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/test/tests.zig b/test/tests.zig index 99ee5949c3..bbaf62ac94 100644 --- a/test/tests.zig +++ b/test/tests.zig @@ -23,7 +23,7 @@ const runtime_safety = @import("runtime_safety.zig"); const translate_c = @import("translate_c.zig"); const gen_h = @import("gen_h.zig"); -const test_targets = [_]CrossTarget{ +const cross_targets = [_]CrossTarget{ CrossTarget{ .os = .linux, .arch = .x86_64, @@ -186,7 +186,17 @@ pub fn addPkgTests( skip_non_native: bool, ) *build.Step { const step = b.step(b.fmt("test-{}", name), desc); - for (test_targets) |test_target| { + + var targets = std.ArrayList(*const CrossTarget).init(b.allocator); + defer targets.deinit(); + const host = CrossTarget{ .os = builtin.os, .arch = builtin.arch, .abi = builtin.abi }; + targets.append(&host) catch unreachable; + for (cross_targets) |*t| { + if (t.os == builtin.os and t.arch == builtin.arch and t.abi == builtin.abi) continue; + targets.append(t) catch unreachable; + } + + for (targets.toSliceConst()) |test_target| { const is_native = (test_target.os == builtin.os and test_target.arch == builtin.arch); if (skip_non_native and !is_native) continue;