commit 2b63ba31e9757347b4e8d10c435396f94367ef45 (tree)
parent d5c1e7f7b1381036f7d98c1944607cb0e1c0d4da
Author: Andrew Kelley <andrew@ziglang.org>
Date: Mon, 1 Jan 2024 19:27:40 -0700
add standalone test for depending on the main module
Diffstat:
4 files changed, 43 insertions(+), 0 deletions(-)
diff --git a/test/standalone.zig b/test/standalone.zig
@@ -258,6 +258,10 @@ pub const build_cases = [_]BuildCase{
.build_root = "test/standalone/ios",
.import = @import("standalone/ios/build.zig"),
},
+ .{
+ .build_root = "test/standalone/depend_on_main_mod",
+ .import = @import("standalone/depend_on_main_mod/build.zig"),
+ },
};
const std = @import("std");
diff --git a/test/standalone/depend_on_main_mod/build.zig b/test/standalone/depend_on_main_mod/build.zig
@@ -0,0 +1,28 @@
+const std = @import("std");
+
+pub fn build(b: *std.Build) void {
+ const test_step = b.step("test", "Test it");
+ b.default_step = test_step;
+
+ const target = b.standardTargetOptions(.{});
+ const optimize = b.standardOptimizeOption(.{});
+
+ const exe = b.addExecutable(.{
+ .name = "depend_on_main_mod",
+ .root_source_file = .{ .path = "src/main.zig" },
+ .target = target,
+ .optimize = optimize,
+ });
+
+ const foo_module = b.addModule("foo", .{
+ .root_source_file = .{ .path = "src/foo.zig" },
+ });
+
+ foo_module.addImport("root2", &exe.root_module);
+ exe.root_module.addImport("foo", foo_module);
+
+ const run_cmd = b.addRunArtifact(exe);
+ run_cmd.expectExitCode(0);
+
+ test_step.dependOn(&run_cmd.step);
+}
diff --git a/test/standalone/depend_on_main_mod/src/foo.zig b/test/standalone/depend_on_main_mod/src/foo.zig
@@ -0,0 +1,6 @@
+const std = @import("std");
+const assert = std.debug.assert;
+
+pub fn run() void {
+ comptime assert(@import("root") == @import("root2"));
+}
diff --git a/test/standalone/depend_on_main_mod/src/main.zig b/test/standalone/depend_on_main_mod/src/main.zig
@@ -0,0 +1,5 @@
+const std = @import("std");
+
+pub fn main() !void {
+ @import("foo").run();
+}