| ... | ... | @@ -1,117 +1,144 @@ |
| 1 | | const std = @import("std"); |
| 2 | | const builtin = @import("builtin"); |
| 3 | | const tests = @import("tests.zig"); |
| 4 | | |
| 5 | | pub fn addCases(cases: *tests.StandaloneContext) void { |
| 6 | | cases.add("test/standalone/hello_world/hello.zig"); |
| 7 | | cases.addC("test/standalone/hello_world/hello_libc.zig"); |
| 8 | | |
| 9 | | cases.addBuildFile("test/standalone/options/build.zig", .{ |
| 10 | | .extra_argv = &.{ |
| 11 | | "-Dbool_true", |
| 12 | | "-Dbool_false=false", |
| 13 | | "-Dint=1234", |
| 14 | | "-De=two", |
| 15 | | "-Dstring=hello", |
| 16 | | }, |
| 17 | | }); |
| 1 | pub const SimpleCase = struct { |
| 2 | src_path: []const u8, |
| 3 | link_libc: bool = false, |
| 4 | all_modes: bool = false, |
| 5 | target: std.zig.CrossTarget = .{}, |
| 6 | }; |
| 18 | 7 | |
| 19 | | cases.add("test/standalone/cat/main.zig"); |
| 20 | | if (builtin.zig_backend == .stage1) { // https://github.com/ziglang/zig/issues/6025 |
| 21 | | cases.add("test/standalone/issue_9693/main.zig"); |
| 22 | | } |
| 23 | | cases.add("test/standalone/issue_12471/main.zig"); |
| 24 | | cases.add("test/standalone/guess_number/main.zig"); |
| 25 | | cases.add("test/standalone/main_return_error/error_u8.zig"); |
| 26 | | cases.add("test/standalone/main_return_error/error_u8_non_zero.zig"); |
| 27 | | cases.add("test/standalone/noreturn_call/inline.zig"); |
| 28 | | cases.add("test/standalone/noreturn_call/as_arg.zig"); |
| 29 | | cases.addBuildFile("test/standalone/test_runner_path/build.zig", .{ .requires_stage2 = true }); |
| 30 | | cases.addBuildFile("test/standalone/issue_13970/build.zig", .{}); |
| 31 | | cases.addBuildFile("test/standalone/main_pkg_path/build.zig", .{}); |
| 32 | | cases.addBuildFile("test/standalone/shared_library/build.zig", .{}); |
| 33 | | cases.addBuildFile("test/standalone/mix_o_files/build.zig", .{}); |
| 34 | | cases.addBuildFile("test/standalone/mix_c_files/build.zig", .{ |
| 35 | | .build_modes = true, |
| 36 | | .cross_targets = true, |
| 37 | | }); |
| 38 | | cases.addBuildFile("test/standalone/global_linkage/build.zig", .{}); |
| 39 | | cases.addBuildFile("test/standalone/static_c_lib/build.zig", .{}); |
| 40 | | cases.addBuildFile("test/standalone/issue_339/build.zig", .{}); |
| 41 | | cases.addBuildFile("test/standalone/issue_8550/build.zig", .{}); |
| 42 | | cases.addBuildFile("test/standalone/issue_794/build.zig", .{}); |
| 43 | | cases.addBuildFile("test/standalone/issue_5825/build.zig", .{}); |
| 44 | | cases.addBuildFile("test/standalone/pkg_import/build.zig", .{}); |
| 45 | | cases.addBuildFile("test/standalone/use_alias/build.zig", .{}); |
| 46 | | cases.addBuildFile("test/standalone/brace_expansion/build.zig", .{}); |
| 47 | | if (builtin.os.tag != .windows or builtin.cpu.arch != .aarch64) { |
| 48 | | // https://github.com/ziglang/zig/issues/13685 |
| 49 | | cases.addBuildFile("test/standalone/empty_env/build.zig", .{}); |
| 50 | | } |
| 51 | | cases.addBuildFile("test/standalone/issue_7030/build.zig", .{}); |
| 52 | | cases.addBuildFile("test/standalone/install_raw_hex/build.zig", .{}); |
| 53 | | if (builtin.zig_backend == .stage1) { // https://github.com/ziglang/zig/issues/12194 |
| 54 | | cases.addBuildFile("test/standalone/issue_9812/build.zig", .{}); |
| 55 | | } |
| 56 | | if (builtin.os.tag != .windows) { |
| 57 | | // https://github.com/ziglang/zig/issues/12419 |
| 58 | | cases.addBuildFile("test/standalone/issue_11595/build.zig", .{}); |
| 59 | | } |
| 8 | pub const BuildCase = struct { |
| 9 | build_root: []const u8, |
| 10 | import: type, |
| 11 | }; |
| 60 | 12 | |
| 61 | | if (builtin.os.tag != .wasi and |
| 62 | | // https://github.com/ziglang/zig/issues/13550 |
| 63 | | (builtin.os.tag != .macos or builtin.cpu.arch != .aarch64) and |
| 64 | | // https://github.com/ziglang/zig/issues/13686 |
| 65 | | (builtin.os.tag != .windows or builtin.cpu.arch != .aarch64)) |
| 66 | | { |
| 67 | | cases.addBuildFile("test/standalone/load_dynamic_library/build.zig", .{}); |
| 68 | | } |
| 13 | pub const simple_cases = [_]SimpleCase{ |
| 14 | .{ |
| 15 | .src_path = "test/standalone/hello_world/hello.zig", |
| 16 | .all_modes = true, |
| 17 | }, |
| 18 | .{ |
| 19 | .src_path = "test/standalone/hello_world/hello_libc.zig", |
| 20 | .link_libc = true, |
| 21 | .all_modes = true, |
| 22 | }, |
| 23 | .{ |
| 24 | .src_path = "test/standalone/cat/main.zig", |
| 25 | }, |
| 26 | // https://github.com/ziglang/zig/issues/6025 |
| 27 | //.{ |
| 28 | // .src_path = "test/standalone/issue_9693/main.zig", |
| 29 | //}, |
| 69 | 30 | |
| 70 | | if (builtin.os.tag == .windows) { |
| 71 | | cases.addBuildFile("test/standalone/windows_spawn/build.zig", .{}); |
| 72 | | } |
| 31 | .{ .src_path = "test/standalone/issue_12471/main.zig" }, |
| 32 | .{ .src_path = "test/standalone/guess_number/main.zig" }, |
| 33 | .{ .src_path = "test/standalone/main_return_error/error_u8.zig" }, |
| 34 | .{ .src_path = "test/standalone/main_return_error/error_u8_non_zero.zig" }, |
| 35 | .{ .src_path = "test/standalone/noreturn_call/inline.zig" }, |
| 36 | .{ .src_path = "test/standalone/noreturn_call/as_arg.zig" }, |
| 73 | 37 | |
| 74 | | cases.addBuildFile("test/standalone/c_compiler/build.zig", .{ |
| 75 | | .build_modes = true, |
| 76 | | .cross_targets = true, |
| 77 | | }); |
| 78 | | |
| 79 | | if (builtin.os.tag == .windows) { |
| 80 | | cases.addC("test/standalone/issue_9402/main.zig"); |
| 81 | | } |
| 82 | | // Try to build and run a PIE executable. |
| 83 | | if (builtin.os.tag == .linux) { |
| 84 | | cases.addBuildFile("test/standalone/pie/build.zig", .{}); |
| 85 | | } |
| 86 | | cases.addBuildFile("test/standalone/issue_12706/build.zig", .{}); |
| 87 | | if (std.os.have_sigpipe_support) { |
| 88 | | cases.addBuildFile("test/standalone/sigpipe/build.zig", .{}); |
| 89 | | } |
| 38 | .{ |
| 39 | .src_path = "test/standalone/issue_9402/main.zig", |
| 40 | .target = .{ .os_tag = .windows }, |
| 41 | .link_libc = true, |
| 42 | }, |
| 90 | 43 | |
| 91 | 44 | // Ensure the development tools are buildable. Alphabetically sorted. |
| 92 | 45 | // No need to build `tools/spirv/grammar.zig`. |
| 93 | | cases.add("tools/extract-grammar.zig"); |
| 94 | | cases.add("tools/gen_outline_atomics.zig"); |
| 95 | | cases.add("tools/gen_spirv_spec.zig"); |
| 96 | | cases.add("tools/gen_stubs.zig"); |
| 97 | | cases.add("tools/generate_linux_syscalls.zig"); |
| 98 | | cases.add("tools/process_headers.zig"); |
| 99 | | cases.add("tools/update-license-headers.zig"); |
| 100 | | cases.add("tools/update-linux-headers.zig"); |
| 101 | | cases.add("tools/update_clang_options.zig"); |
| 102 | | cases.add("tools/update_cpu_features.zig"); |
| 103 | | cases.add("tools/update_glibc.zig"); |
| 104 | | cases.add("tools/update_spirv_features.zig"); |
| 46 | .{ .src_path = "tools/extract-grammar.zig" }, |
| 47 | .{ .src_path = "tools/gen_outline_atomics.zig" }, |
| 48 | .{ .src_path = "tools/gen_spirv_spec.zig" }, |
| 49 | .{ .src_path = "tools/gen_stubs.zig" }, |
| 50 | .{ .src_path = "tools/generate_linux_syscalls.zig" }, |
| 51 | .{ .src_path = "tools/process_headers.zig" }, |
| 52 | .{ .src_path = "tools/update-license-headers.zig" }, |
| 53 | .{ .src_path = "tools/update-linux-headers.zig" }, |
| 54 | .{ .src_path = "tools/update_clang_options.zig" }, |
| 55 | .{ .src_path = "tools/update_cpu_features.zig" }, |
| 56 | .{ .src_path = "tools/update_glibc.zig" }, |
| 57 | .{ .src_path = "tools/update_spirv_features.zig" }, |
| 58 | }; |
| 59 | |
| 60 | pub const build_cases = [_]BuildCase{}; |
| 105 | 61 | |
| 106 | | cases.addBuildFile("test/standalone/issue_13030/build.zig", .{ .build_modes = true }); |
| 107 | | cases.addBuildFile("test/standalone/emit_asm_and_bin/build.zig", .{}); |
| 108 | | cases.addBuildFile("test/standalone/issue_12588/build.zig", .{}); |
| 109 | | cases.addBuildFile("test/standalone/embed_generated_file/build.zig", .{}); |
| 110 | | cases.addBuildFile("test/standalone/extern/build.zig", .{}); |
| 62 | //pub fn addCases(cases: *tests.StandaloneContext) void { |
| 63 | // cases.addBuildFile("test/standalone/options/build.zig", .{ |
| 64 | // .extra_argv = &.{ |
| 65 | // "-Dbool_true", |
| 66 | // "-Dbool_false=false", |
| 67 | // "-Dint=1234", |
| 68 | // "-De=two", |
| 69 | // "-Dstring=hello", |
| 70 | // }, |
| 71 | // }); |
| 72 | // |
| 73 | // cases.addBuildFile("test/standalone/test_runner_path/build.zig", .{ .requires_stage2 = true }); |
| 74 | // cases.addBuildFile("test/standalone/issue_13970/build.zig", .{}); |
| 75 | // cases.addBuildFile("test/standalone/main_pkg_path/build.zig", .{}); |
| 76 | // cases.addBuildFile("test/standalone/shared_library/build.zig", .{}); |
| 77 | // cases.addBuildFile("test/standalone/mix_o_files/build.zig", .{}); |
| 78 | // cases.addBuildFile("test/standalone/mix_c_files/build.zig", .{ |
| 79 | // .build_modes = true, |
| 80 | // .cross_targets = true, |
| 81 | // }); |
| 82 | // cases.addBuildFile("test/standalone/global_linkage/build.zig", .{}); |
| 83 | // cases.addBuildFile("test/standalone/static_c_lib/build.zig", .{}); |
| 84 | // cases.addBuildFile("test/standalone/issue_339/build.zig", .{}); |
| 85 | // cases.addBuildFile("test/standalone/issue_8550/build.zig", .{}); |
| 86 | // cases.addBuildFile("test/standalone/issue_794/build.zig", .{}); |
| 87 | // cases.addBuildFile("test/standalone/issue_5825/build.zig", .{}); |
| 88 | // cases.addBuildFile("test/standalone/pkg_import/build.zig", .{}); |
| 89 | // cases.addBuildFile("test/standalone/use_alias/build.zig", .{}); |
| 90 | // cases.addBuildFile("test/standalone/brace_expansion/build.zig", .{}); |
| 91 | // if (builtin.os.tag != .windows or builtin.cpu.arch != .aarch64) { |
| 92 | // // https://github.com/ziglang/zig/issues/13685 |
| 93 | // cases.addBuildFile("test/standalone/empty_env/build.zig", .{}); |
| 94 | // } |
| 95 | // cases.addBuildFile("test/standalone/issue_7030/build.zig", .{}); |
| 96 | // cases.addBuildFile("test/standalone/install_raw_hex/build.zig", .{}); |
| 97 | // if (builtin.zig_backend == .stage1) { // https://github.com/ziglang/zig/issues/12194 |
| 98 | // cases.addBuildFile("test/standalone/issue_9812/build.zig", .{}); |
| 99 | // } |
| 100 | // if (builtin.os.tag != .windows) { |
| 101 | // // https://github.com/ziglang/zig/issues/12419 |
| 102 | // cases.addBuildFile("test/standalone/issue_11595/build.zig", .{}); |
| 103 | // } |
| 104 | // |
| 105 | // if (builtin.os.tag != .wasi and |
| 106 | // // https://github.com/ziglang/zig/issues/13550 |
| 107 | // (builtin.os.tag != .macos or builtin.cpu.arch != .aarch64) and |
| 108 | // // https://github.com/ziglang/zig/issues/13686 |
| 109 | // (builtin.os.tag != .windows or builtin.cpu.arch != .aarch64)) |
| 110 | // { |
| 111 | // cases.addBuildFile("test/standalone/load_dynamic_library/build.zig", .{}); |
| 112 | // } |
| 113 | // |
| 114 | // if (builtin.os.tag == .windows) { |
| 115 | // cases.addBuildFile("test/standalone/windows_spawn/build.zig", .{}); |
| 116 | // } |
| 117 | // |
| 118 | // cases.addBuildFile("test/standalone/c_compiler/build.zig", .{ |
| 119 | // .build_modes = true, |
| 120 | // .cross_targets = true, |
| 121 | // }); |
| 122 | // |
| 123 | // // Try to build and run a PIE executable. |
| 124 | // if (builtin.os.tag == .linux) { |
| 125 | // cases.addBuildFile("test/standalone/pie/build.zig", .{}); |
| 126 | // } |
| 127 | // cases.addBuildFile("test/standalone/issue_12706/build.zig", .{}); |
| 128 | // if (std.os.have_sigpipe_support) { |
| 129 | // cases.addBuildFile("test/standalone/sigpipe/build.zig", .{}); |
| 130 | // } |
| 131 | // |
| 132 | // cases.addBuildFile("test/standalone/issue_13030/build.zig", .{ .build_modes = true }); |
| 133 | // cases.addBuildFile("test/standalone/emit_asm_and_bin/build.zig", .{}); |
| 134 | // cases.addBuildFile("test/standalone/issue_12588/build.zig", .{}); |
| 135 | // cases.addBuildFile("test/standalone/embed_generated_file/build.zig", .{}); |
| 136 | // |
| 137 | // cases.addBuildFile("test/standalone/dep_diamond/build.zig", .{}); |
| 138 | // cases.addBuildFile("test/standalone/dep_triangle/build.zig", .{}); |
| 139 | // cases.addBuildFile("test/standalone/dep_recursive/build.zig", .{}); |
| 140 | // cases.addBuildFile("test/standalone/dep_mutually_recursive/build.zig", .{}); |
| 141 | // cases.addBuildFile("test/standalone/dep_shared_builtin/build.zig", .{}); |
| 142 | //} |
| 111 | 143 | |
| 112 | | cases.addBuildFile("test/standalone/dep_diamond/build.zig", .{}); |
| 113 | | cases.addBuildFile("test/standalone/dep_triangle/build.zig", .{}); |
| 114 | | cases.addBuildFile("test/standalone/dep_recursive/build.zig", .{}); |
| 115 | | cases.addBuildFile("test/standalone/dep_mutually_recursive/build.zig", .{}); |
| 116 | | cases.addBuildFile("test/standalone/dep_shared_builtin/build.zig", .{}); |
| 117 | | } |
| 144 | const std = @import("std"); |