| ... | @@ -1,117 +1,144 @@ | ... | @@ -1,117 +1,144 @@ |
| 1 | const std = @import("std"); | 1 | pub const SimpleCase = struct { |
| 2 | const builtin = @import("builtin"); | 2 | src_path: []const u8, |
| 3 | const tests = @import("tests.zig"); | 3 | link_libc: bool = false, |
| 4 | | 4 | all_modes: bool = false, |
| 5 | pub fn addCases(cases: *tests.StandaloneContext) void { | 5 | target: std.zig.CrossTarget = .{}, |
| 6 | cases.add("test/standalone/hello_world/hello.zig"); | 6 | }; |
| 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 | }); | | |
| 18 | | 7 | |
| 19 | cases.add("test/standalone/cat/main.zig"); | 8 | pub const BuildCase = struct { |
| 20 | if (builtin.zig_backend == .stage1) { // https://github.com/ziglang/zig/issues/6025 | 9 | build_root: []const u8, |
| 21 | cases.add("test/standalone/issue_9693/main.zig"); | 10 | import: type, |
| 22 | } | 11 | }; |
| 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 | } | | |
| 60 | | 12 | |
| 61 | if (builtin.os.tag != .wasi and | 13 | pub const simple_cases = [_]SimpleCase{ |
| 62 | // https://github.com/ziglang/zig/issues/13550 | 14 | .{ |
| 63 | (builtin.os.tag != .macos or builtin.cpu.arch != .aarch64) and | 15 | .src_path = "test/standalone/hello_world/hello.zig", |
| 64 | // https://github.com/ziglang/zig/issues/13686 | 16 | .all_modes = true, |
| 65 | (builtin.os.tag != .windows or builtin.cpu.arch != .aarch64)) | 17 | }, |
| 66 | { | 18 | .{ |
| 67 | cases.addBuildFile("test/standalone/load_dynamic_library/build.zig", .{}); | 19 | .src_path = "test/standalone/hello_world/hello_libc.zig", |
| 68 | } | 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) { | 31 | .{ .src_path = "test/standalone/issue_12471/main.zig" }, |
| 71 | cases.addBuildFile("test/standalone/windows_spawn/build.zig", .{}); | 32 | .{ .src_path = "test/standalone/guess_number/main.zig" }, |
| 72 | } | 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", .{ | 38 | .{ |
| 75 | .build_modes = true, | 39 | .src_path = "test/standalone/issue_9402/main.zig", |
| 76 | .cross_targets = true, | 40 | .target = .{ .os_tag = .windows }, |
| 77 | }); | 41 | .link_libc = true, |
| 78 | | 42 | }, |
| 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 | } | | |
| 90 | | 43 | |
| 91 | // Ensure the development tools are buildable. Alphabetically sorted. | 44 | // Ensure the development tools are buildable. Alphabetically sorted. |
| 92 | // No need to build `tools/spirv/grammar.zig`. | 45 | // No need to build `tools/spirv/grammar.zig`. |
| 93 | cases.add("tools/extract-grammar.zig"); | 46 | .{ .src_path = "tools/extract-grammar.zig" }, |
| 94 | cases.add("tools/gen_outline_atomics.zig"); | 47 | .{ .src_path = "tools/gen_outline_atomics.zig" }, |
| 95 | cases.add("tools/gen_spirv_spec.zig"); | 48 | .{ .src_path = "tools/gen_spirv_spec.zig" }, |
| 96 | cases.add("tools/gen_stubs.zig"); | 49 | .{ .src_path = "tools/gen_stubs.zig" }, |
| 97 | cases.add("tools/generate_linux_syscalls.zig"); | 50 | .{ .src_path = "tools/generate_linux_syscalls.zig" }, |
| 98 | cases.add("tools/process_headers.zig"); | 51 | .{ .src_path = "tools/process_headers.zig" }, |
| 99 | cases.add("tools/update-license-headers.zig"); | 52 | .{ .src_path = "tools/update-license-headers.zig" }, |
| 100 | cases.add("tools/update-linux-headers.zig"); | 53 | .{ .src_path = "tools/update-linux-headers.zig" }, |
| 101 | cases.add("tools/update_clang_options.zig"); | 54 | .{ .src_path = "tools/update_clang_options.zig" }, |
| 102 | cases.add("tools/update_cpu_features.zig"); | 55 | .{ .src_path = "tools/update_cpu_features.zig" }, |
| 103 | cases.add("tools/update_glibc.zig"); | 56 | .{ .src_path = "tools/update_glibc.zig" }, |
| 104 | cases.add("tools/update_spirv_features.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 }); | 62 | //pub fn addCases(cases: *tests.StandaloneContext) void { |
| 107 | cases.addBuildFile("test/standalone/emit_asm_and_bin/build.zig", .{}); | 63 | // cases.addBuildFile("test/standalone/options/build.zig", .{ |
| 108 | cases.addBuildFile("test/standalone/issue_12588/build.zig", .{}); | 64 | // .extra_argv = &.{ |
| 109 | cases.addBuildFile("test/standalone/embed_generated_file/build.zig", .{}); | 65 | // "-Dbool_true", |
| 110 | cases.addBuildFile("test/standalone/extern/build.zig", .{}); | 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", .{}); | 144 | const std = @import("std"); |
| 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 | } | | |