aboutsummaryrefslogtreecommitdiff
path: root/test/link.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2023-03-16 04:11:41 -0400
committerGitHub <noreply@github.com>2023-03-16 04:11:41 -0400
commitbd242ce1ce9ef6ffb1af4432d892bf582dcdba8a (patch)
tree34caaa3f320e8830a5f1f1c93a4b5d70c0d192a8 /test/link.zig
parenta2c6ecd6dc0bdbe2396be9b055852324f16d34c9 (diff)
parent7177b3994626114e57bf8df36ca84fd942bac282 (diff)
downloadzig-bd242ce1ce9ef6ffb1af4432d892bf582dcdba8a.tar.gz
zig-bd242ce1ce9ef6ffb1af4432d892bf582dcdba8a.zip
Merge pull request #14647 from ziglang/build-parallel
zig build: run steps in parallel
Diffstat (limited to 'test/link.zig')
-rw-r--r--test/link.zig385
1 files changed, 172 insertions, 213 deletions
diff --git a/test/link.zig b/test/link.zig
index c787e8b1ae..aa0ed4817e 100644
--- a/test/link.zig
+++ b/test/link.zig
@@ -1,213 +1,172 @@
-const std = @import("std");
-const builtin = @import("builtin");
-const tests = @import("tests.zig");
-
-pub fn addCases(cases: *tests.StandaloneContext) void {
- cases.addBuildFile("test/link/bss/build.zig", .{
- .build_modes = false, // we only guarantee zerofill for undefined in Debug
- });
-
- cases.addBuildFile("test/link/common_symbols/build.zig", .{
- .build_modes = true,
- });
-
- cases.addBuildFile("test/link/common_symbols_alignment/build.zig", .{
- .build_modes = true,
- });
-
- cases.addBuildFile("test/link/interdependent_static_c_libs/build.zig", .{
- .build_modes = true,
- });
-
- cases.addBuildFile("test/link/static_lib_as_system_lib/build.zig", .{
- .build_modes = true,
- });
-
- addWasmCases(cases);
- addMachOCases(cases);
-}
-
-fn addWasmCases(cases: *tests.StandaloneContext) void {
- cases.addBuildFile("test/link/wasm/archive/build.zig", .{
- .build_modes = true,
- .requires_stage2 = true,
- });
-
- cases.addBuildFile("test/link/wasm/basic-features/build.zig", .{
- .requires_stage2 = true,
- });
-
- cases.addBuildFile("test/link/wasm/bss/build.zig", .{
- .build_modes = false,
- .requires_stage2 = true,
- });
-
- cases.addBuildFile("test/link/wasm/export/build.zig", .{
- .build_modes = true,
- .requires_stage2 = true,
- });
-
- // TODO: Fix open handle in wasm-linker refraining rename from working on Windows.
- if (builtin.os.tag != .windows) {
- cases.addBuildFile("test/link/wasm/export-data/build.zig", .{});
- }
-
- cases.addBuildFile("test/link/wasm/extern/build.zig", .{
- .build_modes = true,
- .requires_stage2 = true,
- .use_emulation = true,
- });
-
- cases.addBuildFile("test/link/wasm/extern-mangle/build.zig", .{
- .build_modes = true,
- .requires_stage2 = true,
- });
-
- cases.addBuildFile("test/link/wasm/function-table/build.zig", .{
- .build_modes = true,
- .requires_stage2 = true,
- });
-
- cases.addBuildFile("test/link/wasm/infer-features/build.zig", .{
- .requires_stage2 = true,
- });
-
- cases.addBuildFile("test/link/wasm/producers/build.zig", .{
- .build_modes = true,
- .requires_stage2 = true,
- });
-
- cases.addBuildFile("test/link/wasm/segments/build.zig", .{
- .build_modes = true,
- .requires_stage2 = true,
- });
-
- cases.addBuildFile("test/link/wasm/stack_pointer/build.zig", .{
- .build_modes = true,
- .requires_stage2 = true,
- });
-
- cases.addBuildFile("test/link/wasm/type/build.zig", .{
- .build_modes = true,
- .requires_stage2 = true,
- });
-}
-
-fn addMachOCases(cases: *tests.StandaloneContext) void {
- cases.addBuildFile("test/link/macho/bugs/13056/build.zig", .{
- .build_modes = true,
- .requires_macos_sdk = true,
- .requires_symlinks = true,
- });
-
- cases.addBuildFile("test/link/macho/bugs/13457/build.zig", .{
- .build_modes = true,
- .requires_symlinks = true,
- });
-
- cases.addBuildFile("test/link/macho/dead_strip/build.zig", .{
- .build_modes = false,
- .requires_symlinks = true,
- });
-
- cases.addBuildFile("test/link/macho/dead_strip_dylibs/build.zig", .{
- .build_modes = true,
- .requires_macos_sdk = true,
- .requires_symlinks = true,
- });
-
- cases.addBuildFile("test/link/macho/dylib/build.zig", .{
- .build_modes = true,
- .requires_symlinks = true,
- });
-
- cases.addBuildFile("test/link/macho/empty/build.zig", .{
- .build_modes = true,
- .requires_symlinks = true,
- });
-
- cases.addBuildFile("test/link/macho/entry/build.zig", .{
- .build_modes = true,
- .requires_symlinks = true,
- });
-
- cases.addBuildFile("test/link/macho/headerpad/build.zig", .{
- .build_modes = true,
- .requires_macos_sdk = true,
- .requires_symlinks = true,
- });
-
- cases.addBuildFile("test/link/macho/linksection/build.zig", .{
- .build_modes = true,
- .requires_symlinks = true,
- });
-
- cases.addBuildFile("test/link/macho/needed_framework/build.zig", .{
- .build_modes = true,
- .requires_macos_sdk = true,
- .requires_symlinks = true,
- });
-
- cases.addBuildFile("test/link/macho/needed_library/build.zig", .{
- .build_modes = true,
- .requires_symlinks = true,
- });
-
- cases.addBuildFile("test/link/macho/objc/build.zig", .{
- .build_modes = true,
- .requires_macos_sdk = true,
- .requires_symlinks = true,
- });
-
- cases.addBuildFile("test/link/macho/objcpp/build.zig", .{
- .build_modes = true,
- .requires_macos_sdk = true,
- .requires_symlinks = true,
- });
-
- cases.addBuildFile("test/link/macho/pagezero/build.zig", .{
- .build_modes = false,
- .requires_symlinks = true,
- });
-
- cases.addBuildFile("test/link/macho/search_strategy/build.zig", .{
- .build_modes = true,
- .requires_symlinks = true,
- });
-
- cases.addBuildFile("test/link/macho/stack_size/build.zig", .{
- .build_modes = true,
- .requires_symlinks = true,
- });
-
- cases.addBuildFile("test/link/macho/strict_validation/build.zig", .{
- .build_modes = true,
- .requires_symlinks = true,
- });
-
- cases.addBuildFile("test/link/macho/tls/build.zig", .{
- .build_modes = true,
- .requires_symlinks = true,
- });
-
- cases.addBuildFile("test/link/macho/unwind_info/build.zig", .{
- .build_modes = true,
- .requires_symlinks = true,
- });
-
- cases.addBuildFile("test/link/macho/uuid/build.zig", .{
- .build_modes = false,
- .requires_symlinks = true,
- });
-
- cases.addBuildFile("test/link/macho/weak_library/build.zig", .{
- .build_modes = true,
- .requires_symlinks = true,
- });
-
- cases.addBuildFile("test/link/macho/weak_framework/build.zig", .{
- .build_modes = true,
- .requires_macos_sdk = true,
- .requires_symlinks = true,
- });
-}
+pub const Case = struct {
+ build_root: []const u8,
+ import: type,
+};
+
+pub const cases = [_]Case{
+ .{
+ .build_root = "test/link/bss",
+ .import = @import("link/bss/build.zig"),
+ },
+ .{
+ .build_root = "test/link/common_symbols",
+ .import = @import("link/common_symbols/build.zig"),
+ },
+ .{
+ .build_root = "test/link/common_symbols_alignment",
+ .import = @import("link/common_symbols_alignment/build.zig"),
+ },
+ .{
+ .build_root = "test/link/interdependent_static_c_libs",
+ .import = @import("link/interdependent_static_c_libs/build.zig"),
+ },
+
+ // WASM Cases
+ .{
+ .build_root = "test/link/wasm/archive",
+ .import = @import("link/wasm/archive/build.zig"),
+ },
+ .{
+ .build_root = "test/link/wasm/basic-features",
+ .import = @import("link/wasm/basic-features/build.zig"),
+ },
+ .{
+ .build_root = "test/link/wasm/bss",
+ .import = @import("link/wasm/bss/build.zig"),
+ },
+ .{
+ .build_root = "test/link/wasm/export",
+ .import = @import("link/wasm/export/build.zig"),
+ },
+ .{
+ .build_root = "test/link/wasm/export-data",
+ .import = @import("link/wasm/export-data/build.zig"),
+ },
+ .{
+ .build_root = "test/link/wasm/extern",
+ .import = @import("link/wasm/extern/build.zig"),
+ },
+ .{
+ .build_root = "test/link/wasm/extern-mangle",
+ .import = @import("link/wasm/extern-mangle/build.zig"),
+ },
+ .{
+ .build_root = "test/link/wasm/function-table",
+ .import = @import("link/wasm/function-table/build.zig"),
+ },
+ .{
+ .build_root = "test/link/wasm/infer-features",
+ .import = @import("link/wasm/infer-features/build.zig"),
+ },
+ .{
+ .build_root = "test/link/wasm/producers",
+ .import = @import("link/wasm/producers/build.zig"),
+ },
+ .{
+ .build_root = "test/link/wasm/segments",
+ .import = @import("link/wasm/segments/build.zig"),
+ },
+ .{
+ .build_root = "test/link/wasm/stack_pointer",
+ .import = @import("link/wasm/stack_pointer/build.zig"),
+ },
+ .{
+ .build_root = "test/link/wasm/type",
+ .import = @import("link/wasm/type/build.zig"),
+ },
+
+ // Mach-O Cases
+ .{
+ .build_root = "test/link/macho/bugs/13056",
+ .import = @import("link/macho/bugs/13056/build.zig"),
+ },
+ .{
+ .build_root = "test/link/macho/bugs/13457",
+ .import = @import("link/macho/bugs/13457/build.zig"),
+ },
+ .{
+ .build_root = "test/link/macho/dead_strip",
+ .import = @import("link/macho/dead_strip/build.zig"),
+ },
+ .{
+ .build_root = "test/link/macho/dead_strip_dylibs",
+ .import = @import("link/macho/dead_strip_dylibs/build.zig"),
+ },
+ .{
+ .build_root = "test/link/macho/dylib",
+ .import = @import("link/macho/dylib/build.zig"),
+ },
+ .{
+ .build_root = "test/link/macho/empty",
+ .import = @import("link/macho/empty/build.zig"),
+ },
+ .{
+ .build_root = "test/link/macho/entry",
+ .import = @import("link/macho/entry/build.zig"),
+ },
+ .{
+ .build_root = "test/link/macho/headerpad",
+ .import = @import("link/macho/headerpad/build.zig"),
+ },
+ .{
+ .build_root = "test/link/macho/linksection",
+ .import = @import("link/macho/linksection/build.zig"),
+ },
+ .{
+ .build_root = "test/link/macho/needed_framework",
+ .import = @import("link/macho/needed_framework/build.zig"),
+ },
+ .{
+ .build_root = "test/link/macho/needed_library",
+ .import = @import("link/macho/needed_library/build.zig"),
+ },
+ .{
+ .build_root = "test/link/macho/objc",
+ .import = @import("link/macho/objc/build.zig"),
+ },
+ .{
+ .build_root = "test/link/macho/objcpp",
+ .import = @import("link/macho/objcpp/build.zig"),
+ },
+ .{
+ .build_root = "test/link/macho/pagezero",
+ .import = @import("link/macho/pagezero/build.zig"),
+ },
+ .{
+ .build_root = "test/link/macho/search_strategy",
+ .import = @import("link/macho/search_strategy/build.zig"),
+ },
+ .{
+ .build_root = "test/link/macho/stack_size",
+ .import = @import("link/macho/stack_size/build.zig"),
+ },
+ .{
+ .build_root = "test/link/macho/strict_validation",
+ .import = @import("link/macho/strict_validation/build.zig"),
+ },
+ .{
+ .build_root = "test/link/macho/tls",
+ .import = @import("link/macho/tls/build.zig"),
+ },
+ .{
+ .build_root = "test/link/macho/unwind_info",
+ .import = @import("link/macho/unwind_info/build.zig"),
+ },
+ // TODO: re-enable this test. It currently has some incompatibilities with
+ // the new build system API. In particular, it depends on installing the build
+ // artifacts, which should be unnecessary, and it has a custom build step that
+ // prints directly to stderr instead of failing the step with an error message.
+ //.{
+ // .build_root = "test/link/macho/uuid",
+ // .import = @import("link/macho/uuid/build.zig"),
+ //},
+
+ .{
+ .build_root = "test/link/macho/weak_library",
+ .import = @import("link/macho/weak_library/build.zig"),
+ },
+ .{
+ .build_root = "test/link/macho/weak_framework",
+ .import = @import("link/macho/weak_framework/build.zig"),
+ },
+};