authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-11-28 01:35:10+01:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-12-04 03:46:35+01:00
loge2a9e568b4cdc2cdb71265c0edb8d9288ded621b
tree04ad902b0f71ff70f3e2c0fac066567d143b7ea4
parentad9a5187ac5d42beeece355788d5620e4a0fc6ef
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

build: add -Dskip-spirv and -Dskip-wasm options


4 files changed, 31 insertions(+), 0 deletions(-)

build.zig+14
......@@ -91,6 +91,8 @@ pub fn build(b: *std.Build) !void {
9191 const skip_libc = b.option(bool, "skip-libc", "Main test suite skips tests that link libc") orelse false;
9292 const skip_single_threaded = b.option(bool, "skip-single-threaded", "Main test suite skips tests that are single-threaded") orelse false;
9393 const skip_compile_errors = b.option(bool, "skip-compile-errors", "Main test suite skips compile error tests") orelse false;
94 const skip_spirv = b.option(bool, "skip-spirv", "Main test suite skips targets with spirv32/spirv64 architecture") orelse false;
95 const skip_wasm = b.option(bool, "skip-wasm", "Main test suite skips targets with wasm32/wasm64 architecture") orelse false;
9496 const skip_freebsd = b.option(bool, "skip-freebsd", "Main test suite skips targets with freebsd OS") orelse false;
9597 const skip_netbsd = b.option(bool, "skip-netbsd", "Main test suite skips targets with netbsd OS") orelse false;
9698 const skip_windows = b.option(bool, "skip-windows", "Main test suite skips targets with windows OS") orelse false;
......@@ -421,6 +423,8 @@ pub fn build(b: *std.Build) !void {
421423 .test_target_filters = test_target_filters,
422424 .skip_compile_errors = skip_compile_errors,
423425 .skip_non_native = skip_non_native,
426 .skip_spirv = skip_spirv,
427 .skip_wasm = skip_wasm,
424428 .skip_freebsd = skip_freebsd,
425429 .skip_netbsd = skip_netbsd,
426430 .skip_windows = skip_windows,
......@@ -452,6 +456,8 @@ pub fn build(b: *std.Build) !void {
452456 .skip_single_threaded = skip_single_threaded,
453457 .skip_non_native = skip_non_native,
454458 .test_default_only = no_matrix,
459 .skip_spirv = skip_spirv,
460 .skip_wasm = skip_wasm,
455461 .skip_freebsd = skip_freebsd,
456462 .skip_netbsd = skip_netbsd,
457463 .skip_windows = skip_windows,
......@@ -475,6 +481,8 @@ pub fn build(b: *std.Build) !void {
475481 .skip_single_threaded = true,
476482 .skip_non_native = skip_non_native,
477483 .test_default_only = no_matrix,
484 .skip_spirv = skip_spirv,
485 .skip_wasm = skip_wasm,
478486 .skip_freebsd = skip_freebsd,
479487 .skip_netbsd = skip_netbsd,
480488 .skip_windows = skip_windows,
......@@ -497,6 +505,8 @@ pub fn build(b: *std.Build) !void {
497505 .skip_single_threaded = true,
498506 .skip_non_native = skip_non_native,
499507 .test_default_only = no_matrix,
508 .skip_spirv = skip_spirv,
509 .skip_wasm = skip_wasm,
500510 .skip_freebsd = skip_freebsd,
501511 .skip_netbsd = skip_netbsd,
502512 .skip_windows = skip_windows,
......@@ -519,6 +529,8 @@ pub fn build(b: *std.Build) !void {
519529 .skip_single_threaded = skip_single_threaded,
520530 .skip_non_native = skip_non_native,
521531 .test_default_only = no_matrix,
532 .skip_spirv = skip_spirv,
533 .skip_wasm = skip_wasm,
522534 .skip_freebsd = skip_freebsd,
523535 .skip_netbsd = skip_netbsd,
524536 .skip_windows = skip_windows,
......@@ -560,6 +572,7 @@ pub fn build(b: *std.Build) !void {
560572 test_step.dependOn(tests.addCAbiTests(b, .{
561573 .test_target_filters = test_target_filters,
562574 .skip_non_native = skip_non_native,
575 .skip_wasm = skip_wasm,
563576 .skip_freebsd = skip_freebsd,
564577 .skip_netbsd = skip_netbsd,
565578 .skip_windows = skip_windows,
......@@ -616,6 +629,7 @@ pub fn build(b: *std.Build) !void {
616629 .optimize_modes = optimization_modes,
617630 .test_filters = test_filters,
618631 .test_target_filters = test_target_filters,
632 .skip_wasm = skip_wasm,
619633 // Highest RSS observed in any test case was exactly 1802878976 on x86_64-linux.
620634 .max_rss = 2253598720,
621635 })) |test_libc_step| test_step.dependOn(test_libc_step);
test/src/Cases.zig+5
......@@ -444,6 +444,8 @@ pub const CaseTestOptions = struct {
444444 test_target_filters: []const []const u8,
445445 skip_compile_errors: bool,
446446 skip_non_native: bool,
447 skip_spirv: bool,
448 skip_wasm: bool,
447449 skip_freebsd: bool,
448450 skip_netbsd: bool,
449451 skip_windows: bool,
......@@ -472,6 +474,9 @@ pub fn lowerToBuildSteps(
472474 if (options.skip_non_native and !case.target.query.isNative())
473475 continue;
474476
477 if (options.skip_spirv and case.target.query.cpu_arch != null and case.target.query.cpu_arch.?.isSpirV()) continue;
478 if (options.skip_wasm and case.target.query.cpu_arch != null and case.target.query.cpu_arch.?.isWasm()) continue;
479
475480 if (options.skip_freebsd and case.target.query.os_tag == .freebsd) continue;
476481 if (options.skip_netbsd and case.target.query.os_tag == .netbsd) continue;
477482 if (options.skip_windows and case.target.query.os_tag == .windows) continue;
test/src/Libc.zig+3
......@@ -10,6 +10,7 @@ pub const Options = struct {
1010 optimize_modes: []const std.builtin.OptimizeMode,
1111 test_filters: []const []const u8,
1212 test_target_filters: []const []const u8,
13 skip_wasm: bool,
1314 max_rss: usize,
1415};
1516
......@@ -41,6 +42,8 @@ pub fn addLibcTestCase(
4142}
4243
4344pub fn addTarget(libc: *const Libc, target: std.Build.ResolvedTarget) void {
45 if (libc.options.skip_wasm and target.query.cpu_arch != null and target.query.cpu_arch.?.isWasm()) return;
46
4447 if (libc.options.test_target_filters.len > 0) {
4548 const triple_txt = target.query.zigTriple(libc.b.allocator) catch @panic("OOM");
4649 for (libc.options.test_target_filters) |filter| {
test/tests.zig+9
......@@ -2246,6 +2246,8 @@ const ModuleTestOptions = struct {
22462246 test_default_only: bool,
22472247 skip_single_threaded: bool,
22482248 skip_non_native: bool,
2249 skip_spirv: bool,
2250 skip_wasm: bool,
22492251 skip_freebsd: bool,
22502252 skip_netbsd: bool,
22512253 skip_windows: bool,
......@@ -2281,6 +2283,9 @@ pub fn addModuleTests(b: *std.Build, options: ModuleTestOptions) *Step {
22812283 if (options.skip_non_native and !test_target.target.isNative())
22822284 continue;
22832285
2286 if (options.skip_spirv and test_target.target.cpu_arch != null and test_target.target.cpu_arch.?.isSpirV()) continue;
2287 if (options.skip_wasm and test_target.target.cpu_arch != null and test_target.target.cpu_arch.?.isWasm()) continue;
2288
22842289 if (options.skip_freebsd and test_target.target.os_tag == .freebsd) continue;
22852290 if (options.skip_netbsd and test_target.target.os_tag == .netbsd) continue;
22862291 if (options.skip_windows and test_target.target.os_tag == .windows) continue;
......@@ -2519,6 +2524,7 @@ pub fn wouldUseLlvm(use_llvm: ?bool, query: std.Target.Query, optimize_mode: Opt
25192524const CAbiTestOptions = struct {
25202525 test_target_filters: []const []const u8,
25212526 skip_non_native: bool,
2527 skip_wasm: bool,
25222528 skip_freebsd: bool,
25232529 skip_netbsd: bool,
25242530 skip_windows: bool,
......@@ -2538,6 +2544,9 @@ pub fn addCAbiTests(b: *std.Build, options: CAbiTestOptions) *Step {
25382544
25392545 for (c_abi_targets) |c_abi_target| {
25402546 if (options.skip_non_native and !c_abi_target.target.isNative()) continue;
2547
2548 if (options.skip_wasm and c_abi_target.target.cpu_arch != null and c_abi_target.target.cpu_arch.?.isWasm()) continue;
2549
25412550 if (options.skip_freebsd and c_abi_target.target.os_tag == .freebsd) continue;
25422551 if (options.skip_netbsd and c_abi_target.target.os_tag == .netbsd) continue;
25432552 if (options.skip_windows and c_abi_target.target.os_tag == .windows) continue;