| author | |
| committer | |
| log | 1829b6eab8dc52ad2961467e23bfb36055cc8583 |
| tree | 14917ddc2b9fa3de0c92a8e3ac31d87eb09d2a90 |
| parent | 033aa1d7614f618d4b416e0c9cb52a8f03f0325f |
| parent | 7bcc1282e231829d6335a185fec2e7592bf10a04 |
| signature |
Skip linker tests requiring symlinks on Windows4 files changed, 31 insertions(+), 2 deletions(-)
build.zig+3-1| ... | ... | @@ -88,6 +88,7 @@ pub fn build(b: *Builder) !void { |
| 88 | 88 | "Whether LLVM has the experimental target arc enabled", |
| 89 | 89 | ) orelse false; |
| 90 | 90 | const enable_macos_sdk = b.option(bool, "enable-macos-sdk", "Run tests requiring presence of macOS SDK and frameworks") orelse false; |
| 91 | const enable_symlinks_windows = b.option(bool, "enable-symlinks-windows", "Run tests requiring presence of symlinks on Windows") orelse false; | |
| 91 | 92 | const config_h_path_option = b.option([]const u8, "config_h", "Path to the generated config.h"); |
| 92 | 93 | |
| 93 | 94 | if (!skip_install_lib_files) { |
| ... | ... | @@ -519,9 +520,10 @@ pub fn build(b: *Builder) !void { |
| 519 | 520 | b.enable_rosetta, |
| 520 | 521 | b.enable_wasmtime, |
| 521 | 522 | b.enable_wine, |
| 523 | enable_symlinks_windows, | |
| 522 | 524 | )); |
| 523 | 525 | test_step.dependOn(tests.addCAbiTests(b, skip_non_native)); |
| 524 | test_step.dependOn(tests.addLinkTests(b, test_filter, modes, enable_macos_sdk, skip_stage2_tests)); | |
| 526 | test_step.dependOn(tests.addLinkTests(b, test_filter, modes, enable_macos_sdk, skip_stage2_tests, enable_symlinks_windows)); | |
| 525 | 527 | test_step.dependOn(tests.addStackTraceTests(b, test_filter, modes)); |
| 526 | 528 | test_step.dependOn(tests.addCliTests(b, test_filter, modes)); |
| 527 | 529 | test_step.dependOn(tests.addAssembleAndLinkTests(b, test_filter, modes)); |
ci/windows/build.ps1+2-1| ... | ... | @@ -49,7 +49,8 @@ Write-Output " zig build test docs..." |
| 49 | 49 | & "$ZIGINSTALLDIR\bin\zig.exe" build test docs ` |
| 50 | 50 | --search-prefix "$ZIGPREFIXPATH" ` |
| 51 | 51 | -Dstatic-llvm ` |
| 52 | -Dskip-non-native | |
| 52 | -Dskip-non-native ` | |
| 53 | -Denable-symlinks-windows | |
| 53 | 54 | CheckLastExitCode |
| 54 | 55 | |
| 55 | 56 | # Produce the experimental std lib documentation. |
test/link.zig+19| ... | ... | @@ -82,83 +82,102 @@ fn addMachOCases(cases: *tests.StandaloneContext) void { |
| 82 | 82 | cases.addBuildFile("test/link/macho/bugs/13056/build.zig", .{ |
| 83 | 83 | .build_modes = true, |
| 84 | 84 | .requires_macos_sdk = true, |
| 85 | .requires_symlinks = true, | |
| 85 | 86 | }); |
| 86 | 87 | |
| 87 | 88 | cases.addBuildFile("test/link/macho/bugs/13457/build.zig", .{ |
| 88 | 89 | .build_modes = true, |
| 90 | .requires_symlinks = true, | |
| 89 | 91 | }); |
| 90 | 92 | |
| 91 | 93 | cases.addBuildFile("test/link/macho/dead_strip/build.zig", .{ |
| 92 | 94 | .build_modes = false, |
| 95 | .requires_symlinks = true, | |
| 93 | 96 | }); |
| 94 | 97 | |
| 95 | 98 | cases.addBuildFile("test/link/macho/dead_strip_dylibs/build.zig", .{ |
| 96 | 99 | .build_modes = true, |
| 97 | 100 | .requires_macos_sdk = true, |
| 101 | .requires_symlinks = true, | |
| 98 | 102 | }); |
| 99 | 103 | |
| 100 | 104 | cases.addBuildFile("test/link/macho/dylib/build.zig", .{ |
| 101 | 105 | .build_modes = true, |
| 106 | .requires_symlinks = true, | |
| 102 | 107 | }); |
| 103 | 108 | |
| 104 | 109 | cases.addBuildFile("test/link/macho/empty/build.zig", .{ |
| 105 | 110 | .build_modes = true, |
| 111 | .requires_symlinks = true, | |
| 106 | 112 | }); |
| 107 | 113 | |
| 108 | 114 | cases.addBuildFile("test/link/macho/entry/build.zig", .{ |
| 109 | 115 | .build_modes = true, |
| 116 | .requires_symlinks = true, | |
| 110 | 117 | }); |
| 111 | 118 | |
| 112 | 119 | cases.addBuildFile("test/link/macho/headerpad/build.zig", .{ |
| 113 | 120 | .build_modes = true, |
| 114 | 121 | .requires_macos_sdk = true, |
| 122 | .requires_symlinks = true, | |
| 115 | 123 | }); |
| 116 | 124 | |
| 117 | 125 | cases.addBuildFile("test/link/macho/linksection/build.zig", .{ |
| 118 | 126 | .build_modes = true, |
| 127 | .requires_symlinks = true, | |
| 119 | 128 | }); |
| 120 | 129 | |
| 121 | 130 | cases.addBuildFile("test/link/macho/needed_framework/build.zig", .{ |
| 122 | 131 | .build_modes = true, |
| 123 | 132 | .requires_macos_sdk = true, |
| 133 | .requires_symlinks = true, | |
| 124 | 134 | }); |
| 125 | 135 | |
| 126 | 136 | cases.addBuildFile("test/link/macho/needed_library/build.zig", .{ |
| 127 | 137 | .build_modes = true, |
| 138 | .requires_symlinks = true, | |
| 128 | 139 | }); |
| 129 | 140 | |
| 130 | 141 | cases.addBuildFile("test/link/macho/objc/build.zig", .{ |
| 131 | 142 | .build_modes = true, |
| 132 | 143 | .requires_macos_sdk = true, |
| 144 | .requires_symlinks = true, | |
| 133 | 145 | }); |
| 134 | 146 | |
| 135 | 147 | cases.addBuildFile("test/link/macho/objcpp/build.zig", .{ |
| 136 | 148 | .build_modes = true, |
| 137 | 149 | .requires_macos_sdk = true, |
| 150 | .requires_symlinks = true, | |
| 138 | 151 | }); |
| 139 | 152 | |
| 140 | 153 | cases.addBuildFile("test/link/macho/pagezero/build.zig", .{ |
| 141 | 154 | .build_modes = false, |
| 155 | .requires_symlinks = true, | |
| 142 | 156 | }); |
| 143 | 157 | |
| 144 | 158 | cases.addBuildFile("test/link/macho/search_strategy/build.zig", .{ |
| 145 | 159 | .build_modes = true, |
| 160 | .requires_symlinks = true, | |
| 146 | 161 | }); |
| 147 | 162 | |
| 148 | 163 | cases.addBuildFile("test/link/macho/stack_size/build.zig", .{ |
| 149 | 164 | .build_modes = true, |
| 165 | .requires_symlinks = true, | |
| 150 | 166 | }); |
| 151 | 167 | |
| 152 | 168 | cases.addBuildFile("test/link/macho/tls/build.zig", .{ |
| 153 | 169 | .build_modes = true, |
| 170 | .requires_symlinks = true, | |
| 154 | 171 | }); |
| 155 | 172 | |
| 156 | 173 | cases.addBuildFile("test/link/macho/weak_library/build.zig", .{ |
| 157 | 174 | .build_modes = true, |
| 175 | .requires_symlinks = true, | |
| 158 | 176 | }); |
| 159 | 177 | |
| 160 | 178 | cases.addBuildFile("test/link/macho/weak_framework/build.zig", .{ |
| 161 | 179 | .build_modes = true, |
| 162 | 180 | .requires_macos_sdk = true, |
| 181 | .requires_symlinks = true, | |
| 163 | 182 | }); |
| 164 | 183 | } |
test/tests.zig+7| ... | ... | @@ -505,6 +505,7 @@ pub fn addStandaloneTests( |
| 505 | 505 | enable_rosetta: bool, |
| 506 | 506 | enable_wasmtime: bool, |
| 507 | 507 | enable_wine: bool, |
| 508 | enable_symlinks_windows: bool, | |
| 508 | 509 | ) *build.Step { |
| 509 | 510 | const cases = b.allocator.create(StandaloneContext) catch unreachable; |
| 510 | 511 | cases.* = StandaloneContext{ |
| ... | ... | @@ -522,6 +523,7 @@ pub fn addStandaloneTests( |
| 522 | 523 | .enable_rosetta = enable_rosetta, |
| 523 | 524 | .enable_wasmtime = enable_wasmtime, |
| 524 | 525 | .enable_wine = enable_wine, |
| 526 | .enable_symlinks_windows = enable_symlinks_windows, | |
| 525 | 527 | }; |
| 526 | 528 | |
| 527 | 529 | standalone.addCases(cases); |
| ... | ... | @@ -535,6 +537,7 @@ pub fn addLinkTests( |
| 535 | 537 | modes: []const Mode, |
| 536 | 538 | enable_macos_sdk: bool, |
| 537 | 539 | omit_stage2: bool, |
| 540 | enable_symlinks_windows: bool, | |
| 538 | 541 | ) *build.Step { |
| 539 | 542 | const cases = b.allocator.create(StandaloneContext) catch unreachable; |
| 540 | 543 | cases.* = StandaloneContext{ |
| ... | ... | @@ -547,6 +550,7 @@ pub fn addLinkTests( |
| 547 | 550 | .enable_macos_sdk = enable_macos_sdk, |
| 548 | 551 | .target = .{}, |
| 549 | 552 | .omit_stage2 = omit_stage2, |
| 553 | .enable_symlinks_windows = enable_symlinks_windows, | |
| 550 | 554 | }; |
| 551 | 555 | link.addCases(cases); |
| 552 | 556 | return cases.step; |
| ... | ... | @@ -1022,6 +1026,7 @@ pub const StandaloneContext = struct { |
| 1022 | 1026 | enable_rosetta: bool = false, |
| 1023 | 1027 | enable_wasmtime: bool = false, |
| 1024 | 1028 | enable_wine: bool = false, |
| 1029 | enable_symlinks_windows: bool, | |
| 1025 | 1030 | |
| 1026 | 1031 | pub fn addC(self: *StandaloneContext, root_src: []const u8) void { |
| 1027 | 1032 | self.addAllArgs(root_src, true); |
| ... | ... | @@ -1037,11 +1042,13 @@ pub const StandaloneContext = struct { |
| 1037 | 1042 | requires_macos_sdk: bool = false, |
| 1038 | 1043 | requires_stage2: bool = false, |
| 1039 | 1044 | use_emulation: bool = false, |
| 1045 | requires_symlinks: bool = false, | |
| 1040 | 1046 | }) void { |
| 1041 | 1047 | const b = self.b; |
| 1042 | 1048 | |
| 1043 | 1049 | if (features.requires_macos_sdk and !self.enable_macos_sdk) return; |
| 1044 | 1050 | if (features.requires_stage2 and self.omit_stage2) return; |
| 1051 | if (features.requires_symlinks and !self.enable_symlinks_windows and builtin.os.tag == .windows) return; | |
| 1045 | 1052 | |
| 1046 | 1053 | const annotated_case_name = b.fmt("build {s}", .{build_file}); |
| 1047 | 1054 | if (self.test_filter) |filter| { |