Skip to content

Commit 215aac8

Browse files
committed
Don't add standalone test cases until we've built stage3
1 parent 30301b1 commit 215aac8

File tree

2 files changed

+17
-10
lines changed

2 files changed

+17
-10
lines changed

test/standalone/build.zig

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ pub fn build(b: *std.Build) void {
2020
if (std.mem.eql(u8, dep_hash, pkg_hash)) {
2121
const pkg = @field(all_pkgs, pkg_hash);
2222
if (!@hasDecl(pkg, "build_zig")) {
23-
std.debug.panic("standalone test case '{s}' is missing a 'build.zig' file", .{dep_name});
23+
std.debug.print("standalone test case '{s}' is missing a 'build.zig' file\n", .{dep_name});
24+
std.process.exit(1);
2425
}
2526
const requires_ios_sdk = @hasDecl(pkg.build_zig, "requires_ios_sdk") and
2627
pkg.build_zig.requires_ios_sdk;

test/tests.zig

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -710,15 +710,21 @@ pub fn addStandaloneTests(
710710
}
711711
}
712712

713-
const test_cases_dep_name = "standalone_test_cases";
714-
const test_cases_dep = b.dependency(test_cases_dep_name, .{
715-
.@"enable-ios-sdk" = enable_ios_sdk,
716-
.@"enable-macos-sdk" = enable_macos_sdk,
717-
.@"enable-symlinks-windows" = enable_symlinks_windows,
718-
});
719-
const test_cases_dep_step = test_cases_dep.builder.default_step;
720-
test_cases_dep_step.name = b.dupe(test_cases_dep_name);
721-
step.dependOn(test_cases_dep.builder.default_step);
713+
// We can only use dependencies if the compiler was built with support for package management.
714+
// (zig2 doesn't support it, but we still need to construct a build graph to build stage3.)
715+
const package_management_available = b.available_deps.len != 0;
716+
717+
if (package_management_available) {
718+
const test_cases_dep_name = "standalone_test_cases";
719+
const test_cases_dep = b.dependency(test_cases_dep_name, .{
720+
.@"enable-ios-sdk" = enable_ios_sdk,
721+
.@"enable-macos-sdk" = enable_macos_sdk,
722+
.@"enable-symlinks-windows" = enable_symlinks_windows,
723+
});
724+
const test_cases_dep_step = test_cases_dep.builder.default_step;
725+
test_cases_dep_step.name = b.dupe(test_cases_dep_name);
726+
step.dependOn(test_cases_dep.builder.default_step);
727+
}
722728

723729
return step;
724730
}

0 commit comments

Comments
 (0)