| author | |
| committer | |
| log | 9095a7fefd306b7e443f1ca388b5ed049d81df7f |
| tree | ad021c2c3d63a8d0b661c110974204ab5c539f82 |
| parent | 4e9b8aec2cbaa9fba7b64b03e90d0426b09e1003 |
| signature |
7 files changed, 23 insertions(+), 2 deletions(-)
build.zig+1| ... | ... | @@ -576,6 +576,7 @@ pub fn build(b: *std.Build) !void { |
| 576 | 576 | enable_macos_sdk, |
| 577 | 577 | enable_ios_sdk, |
| 578 | 578 | enable_symlinks_windows, |
| 579 | skip_translate_c, | |
| 579 | 580 | )); |
| 580 | 581 | test_step.dependOn(tests.addCAbiTests(b, .{ |
| 581 | 582 | .test_target_filters = test_target_filters, |
test/standalone/build.zig+6-1| ... | ... | @@ -9,6 +9,7 @@ pub fn build(b: *std.Build) void { |
| 9 | 9 | const enable_macos_sdk = b.option(bool, "enable_macos_sdk", "Run tests requiring presence of macOS SDK and frameworks") orelse enable_ios_sdk; |
| 10 | 10 | const enable_symlinks_windows = b.option(bool, "enable_symlinks_windows", "Run tests requiring presence of symlinks on Windows") orelse false; |
| 11 | 11 | const omit_symlinks = builtin.os.tag == .windows and !enable_symlinks_windows; |
| 12 | const skip_translate_c = b.option(bool, "skip_translate_c", "Test suite skips translate-c tests") orelse false; | |
| 12 | 13 | |
| 13 | 14 | const simple_skip_debug = b.option(bool, "simple_skip_debug", "Simple tests skip debug builds") orelse false; |
| 14 | 15 | const simple_skip_release_safe = b.option(bool, "simple_skip_release_safe", "Simple tests skip release-safe builds") orelse false; |
| ... | ... | @@ -20,6 +21,7 @@ pub fn build(b: *std.Build) void { |
| 20 | 21 | .skip_release_safe = simple_skip_release_safe, |
| 21 | 22 | .skip_release_fast = simple_skip_release_fast, |
| 22 | 23 | .skip_release_small = simple_skip_release_small, |
| 24 | .skip_translate_c = skip_translate_c, | |
| 23 | 25 | }); |
| 24 | 26 | const simple_dep_step = simple_dep.builder.default_step; |
| 25 | 27 | simple_dep_step.name = "standalone_test_cases.simple"; |
| ... | ... | @@ -97,9 +99,12 @@ pub fn build(b: *std.Build) void { |
| 97 | 99 | pkg.build_zig.requires_macos_sdk; |
| 98 | 100 | const requires_symlinks = @hasDecl(pkg.build_zig, "requires_symlinks") and |
| 99 | 101 | pkg.build_zig.requires_symlinks; |
| 102 | const requires_translate_c = @hasDecl(pkg.build_zig, "requires_translate_c") and | |
| 103 | pkg.build_zig.requires_translate_c; | |
| 100 | 104 | if ((requires_symlinks and omit_symlinks) or |
| 101 | 105 | (requires_macos_sdk and !enable_macos_sdk) or |
| 102 | (requires_ios_sdk and !enable_ios_sdk)) | |
| 106 | (requires_ios_sdk and !enable_ios_sdk) or | |
| 107 | (requires_translate_c and skip_translate_c)) | |
| 103 | 108 | { |
| 104 | 109 | continue :add_dep_steps; |
| 105 | 110 | } |
test/standalone/dep_lazypath/build.zig+2| ... | ... | @@ -1,5 +1,7 @@ |
| 1 | 1 | const std = @import("std"); |
| 2 | 2 | |
| 3 | pub const requires_translate_c = true; | |
| 4 | ||
| 3 | 5 | pub fn build(b: *std.Build) void { |
| 4 | 6 | const test_step = b.step("test", "Test it"); |
| 5 | 7 | b.default_step = test_step; |
test/standalone/glibc_compat/build.zig+2| ... | ... | @@ -1,6 +1,8 @@ |
| 1 | 1 | const std = @import("std"); |
| 2 | 2 | const builtin = @import("builtin"); |
| 3 | 3 | |
| 4 | pub const requires_translate_c = true; | |
| 5 | ||
| 4 | 6 | // To run executables linked against a specific glibc version, the |
| 5 | 7 | // run-time glibc version needs to be new enough. Check the host's glibc |
| 6 | 8 | // version. Note that this does not allow for translation/vm/emulation |
test/standalone/issue_794/build.zig+2| ... | ... | @@ -1,5 +1,7 @@ |
| 1 | 1 | const std = @import("std"); |
| 2 | 2 | |
| 3 | pub const requires_translate_c = true; | |
| 4 | ||
| 3 | 5 | pub fn build(b: *std.Build) void { |
| 4 | 6 | const test_step = b.step("test", "Test it"); |
| 5 | 7 | b.default_step = test_step; |
test/standalone/simple/build.zig+8-1| ... | ... | @@ -9,6 +9,7 @@ pub fn build(b: *std.Build) void { |
| 9 | 9 | const skip_release_safe = b.option(bool, "skip_release_safe", "Skip release-safe builds") orelse false; |
| 10 | 10 | const skip_release_fast = b.option(bool, "skip_release_fast", "Skip release-fast builds") orelse false; |
| 11 | 11 | const skip_release_small = b.option(bool, "skip_release_small", "Skip release-small builds") orelse false; |
| 12 | const skip_translate_c = b.option(bool, "skip_translate_c", "Test suite skips translate-c tests") orelse false; | |
| 12 | 13 | |
| 13 | 14 | var optimize_modes_buf: [4]std.builtin.OptimizeMode = undefined; |
| 14 | 15 | var optimize_modes_len: usize = 0; |
| ... | ... | @@ -36,6 +37,7 @@ pub fn build(b: *std.Build) void { |
| 36 | 37 | if (case.os_filter) |os_tag| { |
| 37 | 38 | if (os_tag != builtin.os.tag) continue; |
| 38 | 39 | } |
| 40 | if (case.uses_translate_c and skip_translate_c) continue; | |
| 39 | 41 | |
| 40 | 42 | const resolved_target = b.resolveTargetQuery(case.target); |
| 41 | 43 | |
| ... | ... | @@ -82,6 +84,7 @@ const Case = struct { |
| 82 | 84 | is_exe: bool = true, |
| 83 | 85 | /// Run only on this OS. |
| 84 | 86 | os_filter: ?std.Target.Os.Tag = null, |
| 87 | uses_translate_c: bool = false, | |
| 85 | 88 | }; |
| 86 | 89 | |
| 87 | 90 | const cases = [_]Case{ |
| ... | ... | @@ -93,6 +96,7 @@ const cases = [_]Case{ |
| 93 | 96 | .src_path = "hello_world/hello_libc.zig", |
| 94 | 97 | .link_libc = true, |
| 95 | 98 | .all_modes = true, |
| 99 | .uses_translate_c = true, | |
| 96 | 100 | }, |
| 97 | 101 | .{ |
| 98 | 102 | .src_path = "cat/main.zig", |
| ... | ... | @@ -108,7 +112,10 @@ const cases = [_]Case{ |
| 108 | 112 | .os_tag = .freestanding, |
| 109 | 113 | }, |
| 110 | 114 | }, |
| 111 | .{ .src_path = "issue_12471/main.zig" }, | |
| 115 | .{ | |
| 116 | .src_path = "issue_12471/main.zig", | |
| 117 | .uses_translate_c = true, | |
| 118 | }, | |
| 112 | 119 | .{ .src_path = "guess_number/main.zig" }, |
| 113 | 120 | .{ .src_path = "main_return_error/error_u8.zig" }, |
| 114 | 121 | .{ .src_path = "main_return_error/error_u8_non_zero.zig" }, |
test/tests.zig+2| ... | ... | @@ -1893,6 +1893,7 @@ pub fn addStandaloneTests( |
| 1893 | 1893 | enable_macos_sdk: bool, |
| 1894 | 1894 | enable_ios_sdk: bool, |
| 1895 | 1895 | enable_symlinks_windows: bool, |
| 1896 | skip_translate_c: bool, | |
| 1896 | 1897 | ) *Step { |
| 1897 | 1898 | const step = b.step("test-standalone", "Run the standalone tests"); |
| 1898 | 1899 | if (compilerHasPackageManager(b)) { |
| ... | ... | @@ -1905,6 +1906,7 @@ pub fn addStandaloneTests( |
| 1905 | 1906 | .simple_skip_release_safe = mem.indexOfScalar(OptimizeMode, optimize_modes, .ReleaseSafe) == null, |
| 1906 | 1907 | .simple_skip_release_fast = mem.indexOfScalar(OptimizeMode, optimize_modes, .ReleaseFast) == null, |
| 1907 | 1908 | .simple_skip_release_small = mem.indexOfScalar(OptimizeMode, optimize_modes, .ReleaseSmall) == null, |
| 1909 | .skip_translate_c = skip_translate_c, | |
| 1908 | 1910 | }); |
| 1909 | 1911 | const test_cases_dep_step = test_cases_dep.builder.default_step; |
| 1910 | 1912 | test_cases_dep_step.name = b.dupe(test_cases_dep_name); |