2019-12-10 17:28:28 +00:00
|
|
|
const std = @import("std");
|
2021-10-05 07:47:27 +01:00
|
|
|
const builtin = @import("builtin");
|
2017-04-19 19:00:12 +01:00
|
|
|
const tests = @import("tests.zig");
|
2017-04-19 06:45:46 +01:00
|
|
|
|
2019-07-16 17:15:46 +01:00
|
|
|
pub fn addCases(cases: *tests.StandaloneContext) void {
|
|
|
|
cases.add("test/standalone/hello_world/hello.zig");
|
|
|
|
cases.addC("test/standalone/hello_world/hello_libc.zig");
|
|
|
|
cases.add("test/standalone/cat/main.zig");
|
2021-09-06 17:57:37 +01:00
|
|
|
cases.add("test/standalone/issue_9693/main.zig");
|
2019-07-16 17:15:46 +01:00
|
|
|
cases.add("test/standalone/guess_number/main.zig");
|
2019-06-21 00:29:47 +01:00
|
|
|
cases.add("test/standalone/main_return_error/error_u8.zig");
|
|
|
|
cases.add("test/standalone/main_return_error/error_u8_non_zero.zig");
|
2021-05-03 07:48:14 +01:00
|
|
|
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", .{});
|
2021-11-15 23:32:15 +00:00
|
|
|
if (builtin.os.tag == .macos) {
|
|
|
|
// Zig's macOS linker does not yet support LTO for LLVM IR files:
|
|
|
|
// https://github.com/ziglang/zig/issues/8680
|
|
|
|
cases.addBuildFile("test/standalone/mix_c_files/build.zig", .{
|
|
|
|
.build_modes = false,
|
|
|
|
.cross_targets = true,
|
|
|
|
});
|
2021-05-03 07:50:47 +01:00
|
|
|
} else {
|
2021-11-15 23:32:15 +00:00
|
|
|
cases.addBuildFile("test/standalone/mix_c_files/build.zig", .{
|
|
|
|
.build_modes = true,
|
|
|
|
.cross_targets = true,
|
|
|
|
});
|
2021-05-03 07:50:47 +01:00
|
|
|
}
|
2021-05-03 07:48:14 +01:00
|
|
|
cases.addBuildFile("test/standalone/global_linkage/build.zig", .{});
|
|
|
|
cases.addBuildFile("test/standalone/static_c_lib/build.zig", .{});
|
|
|
|
cases.addBuildFile("test/standalone/link_interdependent_static_c_libs/build.zig", .{});
|
|
|
|
cases.addBuildFile("test/standalone/link_static_lib_as_system_lib/build.zig", .{});
|
2021-06-10 18:51:41 +01:00
|
|
|
cases.addBuildFile("test/standalone/link_common_symbols/build.zig", .{});
|
2021-11-15 23:32:15 +00:00
|
|
|
cases.addBuildFile("test/standalone/link_frameworks/build.zig", .{
|
|
|
|
.requires_macos_sdk = true,
|
|
|
|
});
|
2021-12-14 22:58:17 +00:00
|
|
|
cases.addBuildFile("test/standalone/link_common_symbols_alignment/build.zig", .{});
|
|
|
|
if (builtin.os.tag == .macos) {
|
|
|
|
cases.addBuildFile("test/standalone/link_import_tls_dylib/build.zig", .{});
|
|
|
|
}
|
2021-05-03 07:48:14 +01:00
|
|
|
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", .{});
|
|
|
|
cases.addBuildFile("test/standalone/empty_env/build.zig", .{});
|
|
|
|
cases.addBuildFile("test/standalone/issue_7030/build.zig", .{});
|
2021-08-27 22:58:28 +01:00
|
|
|
cases.addBuildFile("test/standalone/install_raw_hex/build.zig", .{});
|
2021-09-21 14:59:20 +01:00
|
|
|
cases.addBuildFile("test/standalone/issue_9812/build.zig", .{});
|
2022-05-06 18:14:31 +01:00
|
|
|
cases.addBuildFile("test/standalone/issue_11595/build.zig", .{});
|
2021-10-05 07:47:27 +01:00
|
|
|
if (builtin.os.tag != .wasi) {
|
2021-05-03 07:48:14 +01:00
|
|
|
cases.addBuildFile("test/standalone/load_dynamic_library/build.zig", .{});
|
2018-06-16 22:01:23 +01:00
|
|
|
}
|
2021-11-15 23:32:15 +00:00
|
|
|
// C ABI compatibility issue: https://github.com/ziglang/zig/issues/1481
|
|
|
|
if (builtin.cpu.arch == .x86_64) {
|
2021-05-03 07:48:14 +01:00
|
|
|
cases.addBuildFile("test/stage1/c_abi/build.zig", .{});
|
2018-09-06 21:29:35 +01:00
|
|
|
}
|
2021-11-15 23:32:15 +00:00
|
|
|
cases.addBuildFile("test/standalone/c_compiler/build.zig", .{
|
|
|
|
.build_modes = true,
|
|
|
|
.cross_targets = true,
|
|
|
|
});
|
2021-06-13 19:36:51 +01:00
|
|
|
|
2021-10-05 07:47:27 +01:00
|
|
|
if (builtin.os.tag == .windows) {
|
2021-09-15 18:38:00 +01:00
|
|
|
cases.addC("test/standalone/issue_9402/main.zig");
|
|
|
|
}
|
2021-06-19 17:02:51 +01:00
|
|
|
// Try to build and run a PIE executable.
|
2021-10-05 07:47:27 +01:00
|
|
|
if (builtin.os.tag == .linux) {
|
2021-06-19 17:02:51 +01:00
|
|
|
cases.addBuildFile("test/standalone/pie/build.zig", .{});
|
|
|
|
}
|
2021-08-01 21:48:39 +01:00
|
|
|
// Try to build and run an Objective-C executable.
|
2021-11-15 23:32:15 +00:00
|
|
|
cases.addBuildFile("test/standalone/objc/build.zig", .{
|
|
|
|
.build_modes = true,
|
|
|
|
.requires_macos_sdk = true,
|
|
|
|
});
|
2021-11-22 07:44:49 +00:00
|
|
|
// Try to build and run an Objective-C++ executable.
|
|
|
|
cases.addBuildFile("test/standalone/objcpp/build.zig", .{
|
|
|
|
.build_modes = true,
|
|
|
|
.requires_macos_sdk = true,
|
|
|
|
});
|
2021-06-19 17:02:51 +01:00
|
|
|
|
2021-06-13 19:36:51 +01:00
|
|
|
// Ensure the development tools are buildable.
|
|
|
|
cases.add("tools/gen_spirv_spec.zig");
|
|
|
|
cases.add("tools/gen_stubs.zig");
|
2022-05-29 09:37:16 +01:00
|
|
|
cases.add("tools/generate_linux_syscalls.zig");
|
|
|
|
cases.add("tools/process_headers.zig");
|
|
|
|
cases.add("tools/update-license-headers.zig");
|
|
|
|
cases.add("tools/update-linux-headers.zig");
|
2021-06-13 19:36:51 +01:00
|
|
|
cases.add("tools/update_clang_options.zig");
|
|
|
|
cases.add("tools/update_cpu_features.zig");
|
2021-12-15 07:22:38 +00:00
|
|
|
cases.add("tools/update_glibc.zig");
|
2021-06-13 19:36:51 +01:00
|
|
|
cases.add("tools/update_spirv_features.zig");
|
2017-04-19 06:45:46 +01:00
|
|
|
}
|