| ... | ... | @@ -1106,9 +1106,11 @@ pub fn addStackTraceTests( |
| 1106 | 1106 | ) *Step { |
| 1107 | 1107 | const check_exe = b.addExecutable(.{ |
| 1108 | 1108 | .name = "check-stack-trace", |
| 1109 | | .root_source_file = b.path("test/src/check-stack-trace.zig"), |
| 1110 | | .target = b.graph.host, |
| 1111 | | .optimize = .Debug, |
| 1109 | .root_module = b.createModule(.{ |
| 1110 | .root_source_file = b.path("test/src/check-stack-trace.zig"), |
| 1111 | .target = b.graph.host, |
| 1112 | .optimize = .Debug, |
| 1113 | }), |
| 1112 | 1114 | }); |
| 1113 | 1115 | |
| 1114 | 1116 | const cases = b.allocator.create(StackTracesContext) catch @panic("OOM"); |
| ... | ... | @@ -1330,7 +1332,7 @@ pub fn addCliTests(b: *std.Build) *Step { |
| 1330 | 1332 | run5.step.dependOn(&run4.step); |
| 1331 | 1333 | |
| 1332 | 1334 | const unformatted_code_utf16 = "\xff\xfe \x00 \x00 \x00 \x00/\x00/\x00 \x00n\x00o\x00 \x00r\x00e\x00a\x00s\x00o\x00n\x00"; |
| 1333 | | const fmt6_path = std.fs.path.join(b.allocator, &.{ tmp_path, "fmt6.zig" }) catch @panic("OOM"); |
| 1335 | const fmt6_path = b.pathJoin(&.{ tmp_path, "fmt6.zig" }); |
| 1334 | 1336 | const write6 = b.addUpdateSourceFiles(); |
| 1335 | 1337 | write6.addBytesToSource(unformatted_code_utf16, fmt6_path); |
| 1336 | 1338 | write6.step.dependOn(&run5.step); |
| ... | ... | @@ -1514,18 +1516,20 @@ pub fn addModuleTests(b: *std.Build, options: ModuleTestOptions) *Step { |
| 1514 | 1516 | options.max_rss; |
| 1515 | 1517 | |
| 1516 | 1518 | const these_tests = b.addTest(.{ |
| 1517 | | .root_source_file = b.path(options.root_src), |
| 1518 | | .optimize = test_target.optimize_mode, |
| 1519 | | .target = resolved_target, |
| 1519 | .root_module = b.createModule(.{ |
| 1520 | .root_source_file = b.path(options.root_src), |
| 1521 | .optimize = test_target.optimize_mode, |
| 1522 | .target = resolved_target, |
| 1523 | .link_libc = test_target.link_libc, |
| 1524 | .pic = test_target.pic, |
| 1525 | .strip = test_target.strip, |
| 1526 | .single_threaded = test_target.single_threaded, |
| 1527 | }), |
| 1520 | 1528 | .max_rss = max_rss, |
| 1521 | 1529 | .filters = options.test_filters, |
| 1522 | | .link_libc = test_target.link_libc, |
| 1523 | | .single_threaded = test_target.single_threaded, |
| 1524 | 1530 | .use_llvm = test_target.use_llvm, |
| 1525 | 1531 | .use_lld = test_target.use_lld, |
| 1526 | 1532 | .zig_lib_dir = b.path("lib"), |
| 1527 | | .pic = test_target.pic, |
| 1528 | | .strip = test_target.strip, |
| 1529 | 1533 | }); |
| 1530 | 1534 | if (options.no_builtin) these_tests.no_builtin = true; |
| 1531 | 1535 | if (options.build_options) |build_options| { |
| ... | ... | @@ -1561,12 +1565,17 @@ pub fn addModuleTests(b: *std.Build, options: ModuleTestOptions) *Step { |
| 1561 | 1565 | var altered_query = test_target.target; |
| 1562 | 1566 | altered_query.ofmt = null; |
| 1563 | 1567 | |
| 1564 | | const compile_c = b.addExecutable(.{ |
| 1565 | | .name = qualified_name, |
| 1568 | const compile_c = b.createModule(.{ |
| 1569 | .root_source_file = null, |
| 1566 | 1570 | .link_libc = test_target.link_libc, |
| 1567 | 1571 | .target = b.resolveTargetQuery(altered_query), |
| 1572 | }); |
| 1573 | const compile_c_exe = b.addExecutable(.{ |
| 1574 | .name = qualified_name, |
| 1575 | .root_module = compile_c, |
| 1568 | 1576 | .zig_lib_dir = b.path("lib"), |
| 1569 | 1577 | }); |
| 1578 | |
| 1570 | 1579 | compile_c.addCSourceFile(.{ |
| 1571 | 1580 | .file = these_tests.getEmittedBin(), |
| 1572 | 1581 | .flags = &.{ |
| ... | ... | @@ -1611,22 +1620,22 @@ pub fn addModuleTests(b: *std.Build, options: ModuleTestOptions) *Step { |
| 1611 | 1620 | continue; |
| 1612 | 1621 | } |
| 1613 | 1622 | if (test_target.link_libc == false) { |
| 1614 | | compile_c.subsystem = .Console; |
| 1615 | | compile_c.linkSystemLibrary("kernel32"); |
| 1616 | | compile_c.linkSystemLibrary("ntdll"); |
| 1623 | compile_c_exe.subsystem = .Console; |
| 1624 | compile_c.linkSystemLibrary("kernel32", .{}); |
| 1625 | compile_c.linkSystemLibrary("ntdll", .{}); |
| 1617 | 1626 | } |
| 1618 | 1627 | if (mem.eql(u8, options.name, "std")) { |
| 1619 | 1628 | if (test_target.link_libc == false) { |
| 1620 | | compile_c.linkSystemLibrary("shell32"); |
| 1621 | | compile_c.linkSystemLibrary("advapi32"); |
| 1629 | compile_c.linkSystemLibrary("shell32", .{}); |
| 1630 | compile_c.linkSystemLibrary("advapi32", .{}); |
| 1622 | 1631 | } |
| 1623 | | compile_c.linkSystemLibrary("crypt32"); |
| 1624 | | compile_c.linkSystemLibrary("ws2_32"); |
| 1625 | | compile_c.linkSystemLibrary("ole32"); |
| 1632 | compile_c.linkSystemLibrary("crypt32", .{}); |
| 1633 | compile_c.linkSystemLibrary("ws2_32", .{}); |
| 1634 | compile_c.linkSystemLibrary("ole32", .{}); |
| 1626 | 1635 | } |
| 1627 | 1636 | } |
| 1628 | 1637 | |
| 1629 | | const run = b.addRunArtifact(compile_c); |
| 1638 | const run = b.addRunArtifact(compile_c_exe); |
| 1630 | 1639 | run.skip_foreign_checks = true; |
| 1631 | 1640 | run.enableTestRunnerMode(); |
| 1632 | 1641 | run.setName(b.fmt("run test {s}", .{qualified_name})); |
| ... | ... | @@ -1675,6 +1684,20 @@ pub fn addCAbiTests(b: *std.Build, options: CAbiTestOptions) *Step { |
| 1675 | 1684 | continue; |
| 1676 | 1685 | } |
| 1677 | 1686 | |
| 1687 | const test_mod = b.createModule(.{ |
| 1688 | .root_source_file = b.path("test/c_abi/main.zig"), |
| 1689 | .target = resolved_target, |
| 1690 | .optimize = optimize_mode, |
| 1691 | .link_libc = true, |
| 1692 | .pic = c_abi_target.pic, |
| 1693 | .strip = c_abi_target.strip, |
| 1694 | }); |
| 1695 | test_mod.addCSourceFile(.{ |
| 1696 | .file = b.path("test/c_abi/cfuncs.c"), |
| 1697 | .flags = &.{"-std=c99"}, |
| 1698 | }); |
| 1699 | for (c_abi_target.c_defines) |define| test_mod.addCMacro(define, "1"); |
| 1700 | |
| 1678 | 1701 | const test_step = b.addTest(.{ |
| 1679 | 1702 | .name = b.fmt("test-c-abi-{s}-{s}-{s}{s}{s}{s}", .{ |
| 1680 | 1703 | triple_txt, |
| ... | ... | @@ -1691,20 +1714,10 @@ pub fn addCAbiTests(b: *std.Build, options: CAbiTestOptions) *Step { |
| 1691 | 1714 | if (c_abi_target.use_lld == false) "-no-lld" else "", |
| 1692 | 1715 | if (c_abi_target.pic == true) "-pic" else "", |
| 1693 | 1716 | }), |
| 1694 | | .root_source_file = b.path("test/c_abi/main.zig"), |
| 1695 | | .target = resolved_target, |
| 1696 | | .optimize = optimize_mode, |
| 1697 | | .link_libc = true, |
| 1717 | .root_module = test_mod, |
| 1698 | 1718 | .use_llvm = c_abi_target.use_llvm, |
| 1699 | 1719 | .use_lld = c_abi_target.use_lld, |
| 1700 | | .pic = c_abi_target.pic, |
| 1701 | | .strip = c_abi_target.strip, |
| 1702 | 1720 | }); |
| 1703 | | test_step.addCSourceFile(.{ |
| 1704 | | .file = b.path("test/c_abi/cfuncs.c"), |
| 1705 | | .flags = &.{"-std=c99"}, |
| 1706 | | }); |
| 1707 | | for (c_abi_target.c_defines) |define| test_step.root_module.addCMacro(define, "1"); |
| 1708 | 1721 | |
| 1709 | 1722 | // This test is intentionally trying to check if the external ABI is |
| 1710 | 1723 | // done properly. LTO would be a hindrance to this. |
| ... | ... | @@ -1784,9 +1797,11 @@ pub fn addDebuggerTests(b: *std.Build, options: DebuggerContext.Options) ?*Step |
| 1784 | 1797 | pub fn addIncrementalTests(b: *std.Build, test_step: *Step) !void { |
| 1785 | 1798 | const incr_check = b.addExecutable(.{ |
| 1786 | 1799 | .name = "incr-check", |
| 1787 | | .root_source_file = b.path("tools/incr-check.zig"), |
| 1788 | | .target = b.graph.host, |
| 1789 | | .optimize = .Debug, |
| 1800 | .root_module = b.createModule(.{ |
| 1801 | .root_source_file = b.path("tools/incr-check.zig"), |
| 1802 | .target = b.graph.host, |
| 1803 | .optimize = .Debug, |
| 1804 | }), |
| 1790 | 1805 | }); |
| 1791 | 1806 | |
| 1792 | 1807 | var dir = try b.build_root.handle.openDir("test/incremental", .{ .iterate = true }); |