| ... | @@ -85,6 +85,7 @@ pub fn build(b: *std.Build) !void { | ... | @@ -85,6 +85,7 @@ pub fn build(b: *std.Build) !void { |
| 85 | docs_step.dependOn(std_docs_step); | 85 | docs_step.dependOn(std_docs_step); |
| 86 | | 86 | |
| 87 | const no_matrix = b.option(bool, "no-matrix", "Limit test matrix to exactly one target configuration") orelse false; | 87 | const no_matrix = b.option(bool, "no-matrix", "Limit test matrix to exactly one target configuration") orelse false; |
| | 88 | const fuzz_only = b.option(bool, "fuzz-only", "Limit test matrix to one target suitable for fuzzing") orelse false; |
| 88 | const skip_debug = b.option(bool, "skip-debug", "Main test suite skips debug builds") orelse false; | 89 | const skip_debug = b.option(bool, "skip-debug", "Main test suite skips debug builds") orelse false; |
| 89 | const skip_release = b.option(bool, "skip-release", "Main test suite skips release builds") orelse no_matrix; | 90 | const skip_release = b.option(bool, "skip-release", "Main test suite skips release builds") orelse no_matrix; |
| 90 | const skip_release_small = b.option(bool, "skip-release-small", "Main test suite skips release-small builds") orelse skip_release; | 91 | const skip_release_small = b.option(bool, "skip-release-small", "Main test suite skips release-small builds") orelse skip_release; |
| ... | @@ -417,6 +418,13 @@ pub fn build(b: *std.Build) !void { | ... | @@ -417,6 +418,13 @@ pub fn build(b: *std.Build) !void { |
| 417 | } | 418 | } |
| 418 | const optimization_modes = chosen_opt_modes_buf[0..chosen_mode_index]; | 419 | const optimization_modes = chosen_opt_modes_buf[0..chosen_mode_index]; |
| 419 | | 420 | |
| | 421 | const test_only: ?tests.ModuleTestOptions.TestOnly = if (no_matrix) |
| | 422 | .default |
| | 423 | else if (fuzz_only) |
| | 424 | .{ .fuzz = optimize } |
| | 425 | else |
| | 426 | null; |
| | 427 | |
| 420 | const fmt_include_paths = &.{ "lib", "src", "test", "tools", "build.zig", "build.zig.zon" }; | 428 | const fmt_include_paths = &.{ "lib", "src", "test", "tools", "build.zig", "build.zig.zon" }; |
| 421 | const fmt_exclude_paths = &.{ "test/cases", "test/behavior/zon" }; | 429 | const fmt_exclude_paths = &.{ "test/cases", "test/behavior/zon" }; |
| 422 | const do_fmt = b.addFmt(.{ | 430 | const do_fmt = b.addFmt(.{ |
| ... | @@ -472,7 +480,7 @@ pub fn build(b: *std.Build) !void { | ... | @@ -472,7 +480,7 @@ pub fn build(b: *std.Build) !void { |
| 472 | .include_paths = &.{}, | 480 | .include_paths = &.{}, |
| 473 | .skip_single_threaded = skip_single_threaded, | 481 | .skip_single_threaded = skip_single_threaded, |
| 474 | .skip_non_native = skip_non_native, | 482 | .skip_non_native = skip_non_native, |
| 475 | .test_default_only = no_matrix, | 483 | .test_only = test_only, |
| 476 | .skip_spirv = skip_spirv, | 484 | .skip_spirv = skip_spirv, |
| 477 | .skip_wasm = skip_wasm, | 485 | .skip_wasm = skip_wasm, |
| 478 | .skip_freebsd = skip_freebsd, | 486 | .skip_freebsd = skip_freebsd, |
| ... | @@ -497,7 +505,7 @@ pub fn build(b: *std.Build) !void { | ... | @@ -497,7 +505,7 @@ pub fn build(b: *std.Build) !void { |
| 497 | .include_paths = &.{}, | 505 | .include_paths = &.{}, |
| 498 | .skip_single_threaded = true, | 506 | .skip_single_threaded = true, |
| 499 | .skip_non_native = skip_non_native, | 507 | .skip_non_native = skip_non_native, |
| 500 | .test_default_only = no_matrix, | 508 | .test_only = test_only, |
| 501 | .skip_spirv = skip_spirv, | 509 | .skip_spirv = skip_spirv, |
| 502 | .skip_wasm = skip_wasm, | 510 | .skip_wasm = skip_wasm, |
| 503 | .skip_freebsd = skip_freebsd, | 511 | .skip_freebsd = skip_freebsd, |
| ... | @@ -523,7 +531,7 @@ pub fn build(b: *std.Build) !void { | ... | @@ -523,7 +531,7 @@ pub fn build(b: *std.Build) !void { |
| 523 | .include_paths = &.{}, | 531 | .include_paths = &.{}, |
| 524 | .skip_single_threaded = true, | 532 | .skip_single_threaded = true, |
| 525 | .skip_non_native = skip_non_native, | 533 | .skip_non_native = skip_non_native, |
| 526 | .test_default_only = no_matrix, | 534 | .test_only = test_only, |
| 527 | .skip_spirv = skip_spirv, | 535 | .skip_spirv = skip_spirv, |
| 528 | .skip_wasm = skip_wasm, | 536 | .skip_wasm = skip_wasm, |
| 529 | .skip_freebsd = skip_freebsd, | 537 | .skip_freebsd = skip_freebsd, |
| ... | @@ -549,7 +557,7 @@ pub fn build(b: *std.Build) !void { | ... | @@ -549,7 +557,7 @@ pub fn build(b: *std.Build) !void { |
| 549 | .include_paths = &.{}, | 557 | .include_paths = &.{}, |
| 550 | .skip_single_threaded = skip_single_threaded, | 558 | .skip_single_threaded = skip_single_threaded, |
| 551 | .skip_non_native = skip_non_native, | 559 | .skip_non_native = skip_non_native, |
| 552 | .test_default_only = no_matrix, | 560 | .test_only = test_only, |
| 553 | .skip_spirv = skip_spirv, | 561 | .skip_spirv = skip_spirv, |
| 554 | .skip_wasm = skip_wasm, | 562 | .skip_wasm = skip_wasm, |
| 555 | .skip_freebsd = skip_freebsd, | 563 | .skip_freebsd = skip_freebsd, |