authorgravatar for carl@astholm.seCarl Åstholm <carl@astholm.se> 2024-01-16 21:29:54+01:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-04-07 16:05:54-07:00
logc3ecc6972ea25707f93fc84f98a262efbff66904
treea674fe325605406589b4960ee0051da03ed821b3
parentd6ecfa7025e07dde07f73844258b95cace247406

Don't add standalone test cases until we've built stage3


2 files changed, 17 insertions(+), 10 deletions(-)

test/standalone/build.zig+2-1
...@@ -20,7 +20,8 @@ pub fn build(b: *std.Build) void {...@@ -20,7 +20,8 @@ pub fn build(b: *std.Build) void {
20 if (std.mem.eql(u8, dep_hash, pkg_hash)) {20 if (std.mem.eql(u8, dep_hash, pkg_hash)) {
21 const pkg = @field(all_pkgs, pkg_hash);21 const pkg = @field(all_pkgs, pkg_hash);
22 if (!@hasDecl(pkg, "build_zig")) {22 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);
24 }25 }
25 const requires_ios_sdk = @hasDecl(pkg.build_zig, "requires_ios_sdk") and26 const requires_ios_sdk = @hasDecl(pkg.build_zig, "requires_ios_sdk") and
26 pkg.build_zig.requires_ios_sdk;27 pkg.build_zig.requires_ios_sdk;
test/tests.zig+15-9
...@@ -710,15 +710,21 @@ pub fn addStandaloneTests(...@@ -710,15 +710,21 @@ pub fn addStandaloneTests(
710 }710 }
711 }711 }
712712
713 const test_cases_dep_name = "standalone_test_cases";713 // We can only use dependencies if the compiler was built with support for package management.
714 const test_cases_dep = b.dependency(test_cases_dep_name, .{714 // (zig2 doesn't support it, but we still need to construct a build graph to build stage3.)
715 .@"enable-ios-sdk" = enable_ios_sdk,715 const package_management_available = b.available_deps.len != 0;
716 .@"enable-macos-sdk" = enable_macos_sdk,716
717 .@"enable-symlinks-windows" = enable_symlinks_windows,717 if (package_management_available) {
718 });718 const test_cases_dep_name = "standalone_test_cases";
719 const test_cases_dep_step = test_cases_dep.builder.default_step;719 const test_cases_dep = b.dependency(test_cases_dep_name, .{
720 test_cases_dep_step.name = b.dupe(test_cases_dep_name);720 .@"enable-ios-sdk" = enable_ios_sdk,
721 step.dependOn(test_cases_dep.builder.default_step);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
723 return step;729 return step;
724}730}