mirror of
https://github.com/ziglang/zig.git
synced 2025-12-06 14:23:09 +00:00
re-enable the simple standalone tests
This commit is contained in:
parent
1142e05343
commit
15c4fae1c9
19
build.zig
19
build.zig
@ -443,16 +443,15 @@ pub fn build(b: *std.Build) !void {
|
|||||||
}));
|
}));
|
||||||
|
|
||||||
test_step.dependOn(tests.addCompareOutputTests(b, test_filter, optimization_modes));
|
test_step.dependOn(tests.addCompareOutputTests(b, test_filter, optimization_modes));
|
||||||
//test_step.dependOn(tests.addStandaloneTests(
|
test_step.dependOn(tests.addStandaloneTests(
|
||||||
// b,
|
b,
|
||||||
// test_filter,
|
test_filter,
|
||||||
// optimization_modes,
|
optimization_modes,
|
||||||
// skip_non_native,
|
skip_non_native,
|
||||||
// enable_macos_sdk,
|
enable_macos_sdk,
|
||||||
// target,
|
skip_stage2_tests,
|
||||||
// skip_stage2_tests,
|
enable_symlinks_windows,
|
||||||
// enable_symlinks_windows,
|
));
|
||||||
//));
|
|
||||||
test_step.dependOn(tests.addCAbiTests(b, skip_non_native, skip_release));
|
test_step.dependOn(tests.addCAbiTests(b, skip_non_native, skip_release));
|
||||||
test_step.dependOn(tests.addLinkTests(b, enable_macos_sdk, skip_stage2_tests, enable_symlinks_windows));
|
test_step.dependOn(tests.addLinkTests(b, enable_macos_sdk, skip_stage2_tests, enable_symlinks_windows));
|
||||||
test_step.dependOn(tests.addStackTraceTests(b, test_filter, optimization_modes));
|
test_step.dependOn(tests.addStackTraceTests(b, test_filter, optimization_modes));
|
||||||
|
|||||||
@ -174,6 +174,3 @@ pub const cases = [_]Case{
|
|||||||
.import = @import("link/macho/weak_framework/build.zig"),
|
.import = @import("link/macho/weak_framework/build.zig"),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const std = @import("std");
|
|
||||||
const builtin = @import("builtin");
|
|
||||||
|
|||||||
@ -1,141 +0,0 @@
|
|||||||
b: *std.Build,
|
|
||||||
step: *Step,
|
|
||||||
test_index: usize,
|
|
||||||
test_filter: ?[]const u8,
|
|
||||||
optimize_modes: []const OptimizeMode,
|
|
||||||
skip_non_native: bool,
|
|
||||||
enable_macos_sdk: bool,
|
|
||||||
target: std.zig.CrossTarget,
|
|
||||||
omit_stage2: bool,
|
|
||||||
enable_darling: bool = false,
|
|
||||||
enable_qemu: bool = false,
|
|
||||||
enable_rosetta: bool = false,
|
|
||||||
enable_wasmtime: bool = false,
|
|
||||||
enable_wine: bool = false,
|
|
||||||
enable_symlinks_windows: bool,
|
|
||||||
|
|
||||||
pub fn addC(self: *Standalone, root_src: []const u8) void {
|
|
||||||
self.addAllArgs(root_src, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn add(self: *Standalone, root_src: []const u8) void {
|
|
||||||
self.addAllArgs(root_src, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn addBuildFile(self: *Standalone, build_file: []const u8, features: struct {
|
|
||||||
build_modes: bool = false,
|
|
||||||
cross_targets: bool = false,
|
|
||||||
requires_macos_sdk: bool = false,
|
|
||||||
requires_stage2: bool = false,
|
|
||||||
use_emulation: bool = false,
|
|
||||||
requires_symlinks: bool = false,
|
|
||||||
extra_argv: []const []const u8 = &.{},
|
|
||||||
}) void {
|
|
||||||
const b = self.b;
|
|
||||||
|
|
||||||
if (features.requires_macos_sdk and !self.enable_macos_sdk) return;
|
|
||||||
if (features.requires_stage2 and self.omit_stage2) return;
|
|
||||||
if (features.requires_symlinks and !self.enable_symlinks_windows and builtin.os.tag == .windows) return;
|
|
||||||
|
|
||||||
const annotated_case_name = b.fmt("build {s}", .{build_file});
|
|
||||||
if (self.test_filter) |filter| {
|
|
||||||
if (mem.indexOf(u8, annotated_case_name, filter) == null) return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var zig_args = ArrayList([]const u8).init(b.allocator);
|
|
||||||
const rel_zig_exe = fs.path.relative(b.allocator, b.build_root.path orelse ".", b.zig_exe) catch unreachable;
|
|
||||||
zig_args.append(rel_zig_exe) catch unreachable;
|
|
||||||
zig_args.append("build") catch unreachable;
|
|
||||||
|
|
||||||
// TODO: fix the various non-concurrency-safe issues in zig's standalone tests,
|
|
||||||
// and then remove this!
|
|
||||||
zig_args.append("-j1") catch @panic("OOM");
|
|
||||||
|
|
||||||
zig_args.append("--build-file") catch unreachable;
|
|
||||||
zig_args.append(b.pathFromRoot(build_file)) catch unreachable;
|
|
||||||
|
|
||||||
zig_args.appendSlice(features.extra_argv) catch unreachable;
|
|
||||||
|
|
||||||
zig_args.append("test") catch unreachable;
|
|
||||||
|
|
||||||
if (b.verbose) {
|
|
||||||
zig_args.append("--verbose") catch unreachable;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (features.cross_targets and !self.target.isNative()) {
|
|
||||||
const target_triple = self.target.zigTriple(b.allocator) catch unreachable;
|
|
||||||
const target_arg = fmt.allocPrint(b.allocator, "-Dtarget={s}", .{target_triple}) catch unreachable;
|
|
||||||
zig_args.append(target_arg) catch unreachable;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (features.use_emulation) {
|
|
||||||
if (self.enable_darling) {
|
|
||||||
zig_args.append("-fdarling") catch unreachable;
|
|
||||||
}
|
|
||||||
if (self.enable_qemu) {
|
|
||||||
zig_args.append("-fqemu") catch unreachable;
|
|
||||||
}
|
|
||||||
if (self.enable_rosetta) {
|
|
||||||
zig_args.append("-frosetta") catch unreachable;
|
|
||||||
}
|
|
||||||
if (self.enable_wasmtime) {
|
|
||||||
zig_args.append("-fwasmtime") catch unreachable;
|
|
||||||
}
|
|
||||||
if (self.enable_wine) {
|
|
||||||
zig_args.append("-fwine") catch unreachable;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const optimize_modes = if (features.build_modes) self.optimize_modes else &[1]OptimizeMode{.Debug};
|
|
||||||
for (optimize_modes) |optimize_mode| {
|
|
||||||
const arg = switch (optimize_mode) {
|
|
||||||
.Debug => "",
|
|
||||||
.ReleaseFast => "-Doptimize=ReleaseFast",
|
|
||||||
.ReleaseSafe => "-Doptimize=ReleaseSafe",
|
|
||||||
.ReleaseSmall => "-Doptimize=ReleaseSmall",
|
|
||||||
};
|
|
||||||
const zig_args_base_len = zig_args.items.len;
|
|
||||||
if (arg.len > 0)
|
|
||||||
zig_args.append(arg) catch unreachable;
|
|
||||||
defer zig_args.resize(zig_args_base_len) catch unreachable;
|
|
||||||
|
|
||||||
const run_cmd = b.addSystemCommand(zig_args.items);
|
|
||||||
self.step.dependOn(&run_cmd.step);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn addAllArgs(self: *Standalone, root_src: []const u8, link_libc: bool) void {
|
|
||||||
const b = self.b;
|
|
||||||
|
|
||||||
for (self.optimize_modes) |optimize| {
|
|
||||||
const annotated_case_name = fmt.allocPrint(self.b.allocator, "build {s} ({s})", .{
|
|
||||||
root_src,
|
|
||||||
@tagName(optimize),
|
|
||||||
}) catch unreachable;
|
|
||||||
if (self.test_filter) |filter| {
|
|
||||||
if (mem.indexOf(u8, annotated_case_name, filter) == null) continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
const exe = b.addExecutable(.{
|
|
||||||
.name = "test",
|
|
||||||
.root_source_file = .{ .path = root_src },
|
|
||||||
.optimize = optimize,
|
|
||||||
.target = .{},
|
|
||||||
});
|
|
||||||
if (link_libc) {
|
|
||||||
exe.linkSystemLibrary("c");
|
|
||||||
}
|
|
||||||
|
|
||||||
self.step.dependOn(&exe.step);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const Standalone = @This();
|
|
||||||
const std = @import("std");
|
|
||||||
const builtin = @import("builtin");
|
|
||||||
const Step = std.Build.Step;
|
|
||||||
const OptimizeMode = std.builtin.OptimizeMode;
|
|
||||||
const fmt = std.fmt;
|
|
||||||
const mem = std.mem;
|
|
||||||
const ArrayList = std.ArrayList;
|
|
||||||
const fs = std.fs;
|
|
||||||
@ -1,117 +1,144 @@
|
|||||||
const std = @import("std");
|
pub const SimpleCase = struct {
|
||||||
const builtin = @import("builtin");
|
src_path: []const u8,
|
||||||
const tests = @import("tests.zig");
|
link_libc: bool = false,
|
||||||
|
all_modes: bool = false,
|
||||||
|
target: std.zig.CrossTarget = .{},
|
||||||
|
};
|
||||||
|
|
||||||
pub fn addCases(cases: *tests.StandaloneContext) void {
|
pub const BuildCase = struct {
|
||||||
cases.add("test/standalone/hello_world/hello.zig");
|
build_root: []const u8,
|
||||||
cases.addC("test/standalone/hello_world/hello_libc.zig");
|
import: type,
|
||||||
|
};
|
||||||
|
|
||||||
cases.addBuildFile("test/standalone/options/build.zig", .{
|
pub const simple_cases = [_]SimpleCase{
|
||||||
.extra_argv = &.{
|
.{
|
||||||
"-Dbool_true",
|
.src_path = "test/standalone/hello_world/hello.zig",
|
||||||
"-Dbool_false=false",
|
.all_modes = true,
|
||||||
"-Dint=1234",
|
},
|
||||||
"-De=two",
|
.{
|
||||||
"-Dstring=hello",
|
.src_path = "test/standalone/hello_world/hello_libc.zig",
|
||||||
},
|
.link_libc = true,
|
||||||
});
|
.all_modes = true,
|
||||||
|
},
|
||||||
|
.{
|
||||||
|
.src_path = "test/standalone/cat/main.zig",
|
||||||
|
},
|
||||||
|
// https://github.com/ziglang/zig/issues/6025
|
||||||
|
//.{
|
||||||
|
// .src_path = "test/standalone/issue_9693/main.zig",
|
||||||
|
//},
|
||||||
|
|
||||||
cases.add("test/standalone/cat/main.zig");
|
.{ .src_path = "test/standalone/issue_12471/main.zig" },
|
||||||
if (builtin.zig_backend == .stage1) { // https://github.com/ziglang/zig/issues/6025
|
.{ .src_path = "test/standalone/guess_number/main.zig" },
|
||||||
cases.add("test/standalone/issue_9693/main.zig");
|
.{ .src_path = "test/standalone/main_return_error/error_u8.zig" },
|
||||||
}
|
.{ .src_path = "test/standalone/main_return_error/error_u8_non_zero.zig" },
|
||||||
cases.add("test/standalone/issue_12471/main.zig");
|
.{ .src_path = "test/standalone/noreturn_call/inline.zig" },
|
||||||
cases.add("test/standalone/guess_number/main.zig");
|
.{ .src_path = "test/standalone/noreturn_call/as_arg.zig" },
|
||||||
cases.add("test/standalone/main_return_error/error_u8.zig");
|
|
||||||
cases.add("test/standalone/main_return_error/error_u8_non_zero.zig");
|
|
||||||
cases.add("test/standalone/noreturn_call/inline.zig");
|
|
||||||
cases.add("test/standalone/noreturn_call/as_arg.zig");
|
|
||||||
cases.addBuildFile("test/standalone/test_runner_path/build.zig", .{ .requires_stage2 = true });
|
|
||||||
cases.addBuildFile("test/standalone/issue_13970/build.zig", .{});
|
|
||||||
cases.addBuildFile("test/standalone/main_pkg_path/build.zig", .{});
|
|
||||||
cases.addBuildFile("test/standalone/shared_library/build.zig", .{});
|
|
||||||
cases.addBuildFile("test/standalone/mix_o_files/build.zig", .{});
|
|
||||||
cases.addBuildFile("test/standalone/mix_c_files/build.zig", .{
|
|
||||||
.build_modes = true,
|
|
||||||
.cross_targets = true,
|
|
||||||
});
|
|
||||||
cases.addBuildFile("test/standalone/global_linkage/build.zig", .{});
|
|
||||||
cases.addBuildFile("test/standalone/static_c_lib/build.zig", .{});
|
|
||||||
cases.addBuildFile("test/standalone/issue_339/build.zig", .{});
|
|
||||||
cases.addBuildFile("test/standalone/issue_8550/build.zig", .{});
|
|
||||||
cases.addBuildFile("test/standalone/issue_794/build.zig", .{});
|
|
||||||
cases.addBuildFile("test/standalone/issue_5825/build.zig", .{});
|
|
||||||
cases.addBuildFile("test/standalone/pkg_import/build.zig", .{});
|
|
||||||
cases.addBuildFile("test/standalone/use_alias/build.zig", .{});
|
|
||||||
cases.addBuildFile("test/standalone/brace_expansion/build.zig", .{});
|
|
||||||
if (builtin.os.tag != .windows or builtin.cpu.arch != .aarch64) {
|
|
||||||
// https://github.com/ziglang/zig/issues/13685
|
|
||||||
cases.addBuildFile("test/standalone/empty_env/build.zig", .{});
|
|
||||||
}
|
|
||||||
cases.addBuildFile("test/standalone/issue_7030/build.zig", .{});
|
|
||||||
cases.addBuildFile("test/standalone/install_raw_hex/build.zig", .{});
|
|
||||||
if (builtin.zig_backend == .stage1) { // https://github.com/ziglang/zig/issues/12194
|
|
||||||
cases.addBuildFile("test/standalone/issue_9812/build.zig", .{});
|
|
||||||
}
|
|
||||||
if (builtin.os.tag != .windows) {
|
|
||||||
// https://github.com/ziglang/zig/issues/12419
|
|
||||||
cases.addBuildFile("test/standalone/issue_11595/build.zig", .{});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (builtin.os.tag != .wasi and
|
.{
|
||||||
// https://github.com/ziglang/zig/issues/13550
|
.src_path = "test/standalone/issue_9402/main.zig",
|
||||||
(builtin.os.tag != .macos or builtin.cpu.arch != .aarch64) and
|
.target = .{ .os_tag = .windows },
|
||||||
// https://github.com/ziglang/zig/issues/13686
|
.link_libc = true,
|
||||||
(builtin.os.tag != .windows or builtin.cpu.arch != .aarch64))
|
},
|
||||||
{
|
|
||||||
cases.addBuildFile("test/standalone/load_dynamic_library/build.zig", .{});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (builtin.os.tag == .windows) {
|
|
||||||
cases.addBuildFile("test/standalone/windows_spawn/build.zig", .{});
|
|
||||||
}
|
|
||||||
|
|
||||||
cases.addBuildFile("test/standalone/c_compiler/build.zig", .{
|
|
||||||
.build_modes = true,
|
|
||||||
.cross_targets = true,
|
|
||||||
});
|
|
||||||
|
|
||||||
if (builtin.os.tag == .windows) {
|
|
||||||
cases.addC("test/standalone/issue_9402/main.zig");
|
|
||||||
}
|
|
||||||
// Try to build and run a PIE executable.
|
|
||||||
if (builtin.os.tag == .linux) {
|
|
||||||
cases.addBuildFile("test/standalone/pie/build.zig", .{});
|
|
||||||
}
|
|
||||||
cases.addBuildFile("test/standalone/issue_12706/build.zig", .{});
|
|
||||||
if (std.os.have_sigpipe_support) {
|
|
||||||
cases.addBuildFile("test/standalone/sigpipe/build.zig", .{});
|
|
||||||
}
|
|
||||||
|
|
||||||
// Ensure the development tools are buildable. Alphabetically sorted.
|
// Ensure the development tools are buildable. Alphabetically sorted.
|
||||||
// No need to build `tools/spirv/grammar.zig`.
|
// No need to build `tools/spirv/grammar.zig`.
|
||||||
cases.add("tools/extract-grammar.zig");
|
.{ .src_path = "tools/extract-grammar.zig" },
|
||||||
cases.add("tools/gen_outline_atomics.zig");
|
.{ .src_path = "tools/gen_outline_atomics.zig" },
|
||||||
cases.add("tools/gen_spirv_spec.zig");
|
.{ .src_path = "tools/gen_spirv_spec.zig" },
|
||||||
cases.add("tools/gen_stubs.zig");
|
.{ .src_path = "tools/gen_stubs.zig" },
|
||||||
cases.add("tools/generate_linux_syscalls.zig");
|
.{ .src_path = "tools/generate_linux_syscalls.zig" },
|
||||||
cases.add("tools/process_headers.zig");
|
.{ .src_path = "tools/process_headers.zig" },
|
||||||
cases.add("tools/update-license-headers.zig");
|
.{ .src_path = "tools/update-license-headers.zig" },
|
||||||
cases.add("tools/update-linux-headers.zig");
|
.{ .src_path = "tools/update-linux-headers.zig" },
|
||||||
cases.add("tools/update_clang_options.zig");
|
.{ .src_path = "tools/update_clang_options.zig" },
|
||||||
cases.add("tools/update_cpu_features.zig");
|
.{ .src_path = "tools/update_cpu_features.zig" },
|
||||||
cases.add("tools/update_glibc.zig");
|
.{ .src_path = "tools/update_glibc.zig" },
|
||||||
cases.add("tools/update_spirv_features.zig");
|
.{ .src_path = "tools/update_spirv_features.zig" },
|
||||||
|
};
|
||||||
|
|
||||||
cases.addBuildFile("test/standalone/issue_13030/build.zig", .{ .build_modes = true });
|
pub const build_cases = [_]BuildCase{};
|
||||||
cases.addBuildFile("test/standalone/emit_asm_and_bin/build.zig", .{});
|
|
||||||
cases.addBuildFile("test/standalone/issue_12588/build.zig", .{});
|
|
||||||
cases.addBuildFile("test/standalone/embed_generated_file/build.zig", .{});
|
|
||||||
cases.addBuildFile("test/standalone/extern/build.zig", .{});
|
|
||||||
|
|
||||||
cases.addBuildFile("test/standalone/dep_diamond/build.zig", .{});
|
//pub fn addCases(cases: *tests.StandaloneContext) void {
|
||||||
cases.addBuildFile("test/standalone/dep_triangle/build.zig", .{});
|
// cases.addBuildFile("test/standalone/options/build.zig", .{
|
||||||
cases.addBuildFile("test/standalone/dep_recursive/build.zig", .{});
|
// .extra_argv = &.{
|
||||||
cases.addBuildFile("test/standalone/dep_mutually_recursive/build.zig", .{});
|
// "-Dbool_true",
|
||||||
cases.addBuildFile("test/standalone/dep_shared_builtin/build.zig", .{});
|
// "-Dbool_false=false",
|
||||||
}
|
// "-Dint=1234",
|
||||||
|
// "-De=two",
|
||||||
|
// "-Dstring=hello",
|
||||||
|
// },
|
||||||
|
// });
|
||||||
|
//
|
||||||
|
// cases.addBuildFile("test/standalone/test_runner_path/build.zig", .{ .requires_stage2 = true });
|
||||||
|
// cases.addBuildFile("test/standalone/issue_13970/build.zig", .{});
|
||||||
|
// cases.addBuildFile("test/standalone/main_pkg_path/build.zig", .{});
|
||||||
|
// cases.addBuildFile("test/standalone/shared_library/build.zig", .{});
|
||||||
|
// cases.addBuildFile("test/standalone/mix_o_files/build.zig", .{});
|
||||||
|
// cases.addBuildFile("test/standalone/mix_c_files/build.zig", .{
|
||||||
|
// .build_modes = true,
|
||||||
|
// .cross_targets = true,
|
||||||
|
// });
|
||||||
|
// cases.addBuildFile("test/standalone/global_linkage/build.zig", .{});
|
||||||
|
// cases.addBuildFile("test/standalone/static_c_lib/build.zig", .{});
|
||||||
|
// cases.addBuildFile("test/standalone/issue_339/build.zig", .{});
|
||||||
|
// cases.addBuildFile("test/standalone/issue_8550/build.zig", .{});
|
||||||
|
// cases.addBuildFile("test/standalone/issue_794/build.zig", .{});
|
||||||
|
// cases.addBuildFile("test/standalone/issue_5825/build.zig", .{});
|
||||||
|
// cases.addBuildFile("test/standalone/pkg_import/build.zig", .{});
|
||||||
|
// cases.addBuildFile("test/standalone/use_alias/build.zig", .{});
|
||||||
|
// cases.addBuildFile("test/standalone/brace_expansion/build.zig", .{});
|
||||||
|
// if (builtin.os.tag != .windows or builtin.cpu.arch != .aarch64) {
|
||||||
|
// // https://github.com/ziglang/zig/issues/13685
|
||||||
|
// cases.addBuildFile("test/standalone/empty_env/build.zig", .{});
|
||||||
|
// }
|
||||||
|
// cases.addBuildFile("test/standalone/issue_7030/build.zig", .{});
|
||||||
|
// cases.addBuildFile("test/standalone/install_raw_hex/build.zig", .{});
|
||||||
|
// if (builtin.zig_backend == .stage1) { // https://github.com/ziglang/zig/issues/12194
|
||||||
|
// cases.addBuildFile("test/standalone/issue_9812/build.zig", .{});
|
||||||
|
// }
|
||||||
|
// if (builtin.os.tag != .windows) {
|
||||||
|
// // https://github.com/ziglang/zig/issues/12419
|
||||||
|
// cases.addBuildFile("test/standalone/issue_11595/build.zig", .{});
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// if (builtin.os.tag != .wasi and
|
||||||
|
// // https://github.com/ziglang/zig/issues/13550
|
||||||
|
// (builtin.os.tag != .macos or builtin.cpu.arch != .aarch64) and
|
||||||
|
// // https://github.com/ziglang/zig/issues/13686
|
||||||
|
// (builtin.os.tag != .windows or builtin.cpu.arch != .aarch64))
|
||||||
|
// {
|
||||||
|
// cases.addBuildFile("test/standalone/load_dynamic_library/build.zig", .{});
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// if (builtin.os.tag == .windows) {
|
||||||
|
// cases.addBuildFile("test/standalone/windows_spawn/build.zig", .{});
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// cases.addBuildFile("test/standalone/c_compiler/build.zig", .{
|
||||||
|
// .build_modes = true,
|
||||||
|
// .cross_targets = true,
|
||||||
|
// });
|
||||||
|
//
|
||||||
|
// // Try to build and run a PIE executable.
|
||||||
|
// if (builtin.os.tag == .linux) {
|
||||||
|
// cases.addBuildFile("test/standalone/pie/build.zig", .{});
|
||||||
|
// }
|
||||||
|
// cases.addBuildFile("test/standalone/issue_12706/build.zig", .{});
|
||||||
|
// if (std.os.have_sigpipe_support) {
|
||||||
|
// cases.addBuildFile("test/standalone/sigpipe/build.zig", .{});
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// cases.addBuildFile("test/standalone/issue_13030/build.zig", .{ .build_modes = true });
|
||||||
|
// cases.addBuildFile("test/standalone/emit_asm_and_bin/build.zig", .{});
|
||||||
|
// cases.addBuildFile("test/standalone/issue_12588/build.zig", .{});
|
||||||
|
// cases.addBuildFile("test/standalone/embed_generated_file/build.zig", .{});
|
||||||
|
//
|
||||||
|
// cases.addBuildFile("test/standalone/dep_diamond/build.zig", .{});
|
||||||
|
// cases.addBuildFile("test/standalone/dep_triangle/build.zig", .{});
|
||||||
|
// cases.addBuildFile("test/standalone/dep_recursive/build.zig", .{});
|
||||||
|
// cases.addBuildFile("test/standalone/dep_mutually_recursive/build.zig", .{});
|
||||||
|
// cases.addBuildFile("test/standalone/dep_shared_builtin/build.zig", .{});
|
||||||
|
//}
|
||||||
|
|
||||||
|
const std = @import("std");
|
||||||
|
|||||||
@ -20,7 +20,6 @@ pub const TranslateCContext = @import("src/translate_c.zig").TranslateCContext;
|
|||||||
pub const RunTranslatedCContext = @import("src/run_translated_c.zig").RunTranslatedCContext;
|
pub const RunTranslatedCContext = @import("src/run_translated_c.zig").RunTranslatedCContext;
|
||||||
pub const CompareOutputContext = @import("src/CompareOutput.zig");
|
pub const CompareOutputContext = @import("src/CompareOutput.zig");
|
||||||
pub const StackTracesContext = @import("src/StackTrace.zig");
|
pub const StackTracesContext = @import("src/StackTrace.zig");
|
||||||
pub const StandaloneContext = @import("src/Standalone.zig");
|
|
||||||
|
|
||||||
const TestTarget = struct {
|
const TestTarget = struct {
|
||||||
target: CrossTarget = @as(CrossTarget, .{}),
|
target: CrossTarget = @as(CrossTarget, .{}),
|
||||||
@ -565,27 +564,34 @@ pub fn addStandaloneTests(
|
|||||||
optimize_modes: []const OptimizeMode,
|
optimize_modes: []const OptimizeMode,
|
||||||
skip_non_native: bool,
|
skip_non_native: bool,
|
||||||
enable_macos_sdk: bool,
|
enable_macos_sdk: bool,
|
||||||
target: std.zig.CrossTarget,
|
|
||||||
omit_stage2: bool,
|
omit_stage2: bool,
|
||||||
enable_symlinks_windows: bool,
|
enable_symlinks_windows: bool,
|
||||||
) *Step {
|
) *Step {
|
||||||
const cases = b.allocator.create(StandaloneContext) catch @panic("OOM");
|
const step = b.step("test-standalone", "Run the standalone tests");
|
||||||
cases.* = .{
|
|
||||||
.b = b,
|
|
||||||
.step = b.step("test-standalone", "Run the standalone tests"),
|
|
||||||
.test_index = 0,
|
|
||||||
.test_filter = test_filter,
|
|
||||||
.optimize_modes = optimize_modes,
|
|
||||||
.skip_non_native = skip_non_native,
|
|
||||||
.enable_macos_sdk = enable_macos_sdk,
|
|
||||||
.target = target,
|
|
||||||
.omit_stage2 = omit_stage2,
|
|
||||||
.enable_symlinks_windows = enable_symlinks_windows,
|
|
||||||
};
|
|
||||||
|
|
||||||
standalone.addCases(cases);
|
_ = test_filter;
|
||||||
|
_ = skip_non_native;
|
||||||
|
_ = enable_macos_sdk;
|
||||||
|
_ = omit_stage2;
|
||||||
|
_ = enable_symlinks_windows;
|
||||||
|
|
||||||
return cases.step;
|
for (standalone.simple_cases) |case| {
|
||||||
|
for (optimize_modes) |optimize| {
|
||||||
|
if (!case.all_modes and optimize != .Debug) continue;
|
||||||
|
|
||||||
|
const exe = b.addExecutable(.{
|
||||||
|
.name = std.fs.path.stem(case.src_path),
|
||||||
|
.root_source_file = .{ .path = case.src_path },
|
||||||
|
.optimize = optimize,
|
||||||
|
.target = case.target,
|
||||||
|
});
|
||||||
|
if (case.link_libc) exe.linkLibC();
|
||||||
|
|
||||||
|
step.dependOn(&exe.step);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return step;
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn addLinkTests(
|
pub fn addLinkTests(
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user