| ... | ... | @@ -28,6 +28,7 @@ const TestTarget = struct { |
| 28 | 28 | use_lld: ?bool = null, |
| 29 | 29 | pic: ?bool = null, |
| 30 | 30 | strip: ?bool = null, |
| 31 | skip_modules: []const []const u8 = &.{}, |
| 31 | 32 | |
| 32 | 33 | // This is intended for targets that are known to be slow to compile. These are acceptable to |
| 33 | 34 | // run in CI, but should not be run on developer machines by default. As an example, at the time |
| ... | ... | @@ -1225,7 +1226,13 @@ const ModuleTestOptions = struct { |
| 1225 | 1226 | pub fn addModuleTests(b: *std.Build, options: ModuleTestOptions) *Step { |
| 1226 | 1227 | const step = b.step(b.fmt("test-{s}", .{options.name}), options.desc); |
| 1227 | 1228 | |
| 1228 | | for (test_targets) |test_target| { |
| 1229 | for_targets: for (test_targets) |test_target| { |
| 1230 | if (test_target.skip_modules.len > 0) { |
| 1231 | for (test_target.skip_modules) |skip_mod| { |
| 1232 | if (std.mem.eql(u8, options.name, skip_mod)) continue :for_targets; |
| 1233 | } |
| 1234 | } |
| 1235 | |
| 1229 | 1236 | if (!options.test_slow_targets and test_target.slow_backend) continue; |
| 1230 | 1237 | |
| 1231 | 1238 | if (options.skip_non_native and !test_target.target.isNative()) |