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