| ... | @@ -62,6 +62,9 @@ pub fn build(b: *Builder) !void { | ... | @@ -62,6 +62,9 @@ pub fn build(b: *Builder) !void { |
| 62 | b.default_step.dependOn(&exe.step); | 62 | b.default_step.dependOn(&exe.step); |
| 63 | | 63 | |
| 64 | const skip_release = b.option(bool, "skip-release", "Main test suite skips release builds") orelse false; | 64 | const skip_release = b.option(bool, "skip-release", "Main test suite skips release builds") orelse false; |
| | 65 | const skip_release_small = b.option(bool, "skip-release-small", "Main test suite skips release-small builds") orelse skip_release; |
| | 66 | const skip_release_fast = b.option(bool, "skip-release-fast", "Main test suite skips release-fast builds") orelse skip_release; |
| | 67 | const skip_release_safe = b.option(bool, "skip-release-safe", "Main test suite skips release-safe builds") orelse skip_release; |
| 65 | const skip_self_hosted = b.option(bool, "skip-self-hosted", "Main test suite skips building self hosted compiler") orelse false; | 68 | const skip_self_hosted = b.option(bool, "skip-self-hosted", "Main test suite skips building self hosted compiler") orelse false; |
| 66 | if (!skip_self_hosted) { | 69 | if (!skip_self_hosted) { |
| 67 | test_step.dependOn(&exe.step); | 70 | test_step.dependOn(&exe.step); |
| ... | @@ -83,13 +86,23 @@ pub fn build(b: *Builder) !void { | ... | @@ -83,13 +86,23 @@ pub fn build(b: *Builder) !void { |
| 83 | test_step.dependOn(test_stage2_step); | 86 | test_step.dependOn(test_stage2_step); |
| 84 | } | 87 | } |
| 85 | | 88 | |
| 86 | const all_modes = []builtin.Mode{ | 89 | var chosen_modes: [4]builtin.Mode = undefined; |
| 87 | builtin.Mode.Debug, | 90 | var chosen_mode_index: usize = 0; |
| 88 | builtin.Mode.ReleaseSafe, | 91 | chosen_modes[chosen_mode_index] = builtin.Mode.Debug; |
| 89 | builtin.Mode.ReleaseFast, | 92 | chosen_mode_index += 1; |
| 90 | builtin.Mode.ReleaseSmall, | 93 | if (!skip_release_safe) { |
| 91 | }; | 94 | chosen_modes[chosen_mode_index] = builtin.Mode.ReleaseSafe; |
| 92 | const modes = if (skip_release) []builtin.Mode{builtin.Mode.Debug} else all_modes; | 95 | chosen_mode_index += 1; |
| | 96 | } |
| | 97 | if (!skip_release_fast) { |
| | 98 | chosen_modes[chosen_mode_index] = builtin.Mode.ReleaseFast; |
| | 99 | chosen_mode_index += 1; |
| | 100 | } |
| | 101 | if (!skip_release_small) { |
| | 102 | chosen_modes[chosen_mode_index] = builtin.Mode.ReleaseSmall; |
| | 103 | chosen_mode_index += 1; |
| | 104 | } |
| | 105 | const modes = chosen_modes[0..chosen_mode_index]; |
| 93 | | 106 | |
| 94 | test_step.dependOn(tests.addPkgTests(b, test_filter, "test/behavior.zig", "behavior", "Run the behavior tests", modes)); | 107 | test_step.dependOn(tests.addPkgTests(b, test_filter, "test/behavior.zig", "behavior", "Run the behavior tests", modes)); |
| 95 | | 108 | |