From 2b63ba31e9757347b4e8d10c435396f94367ef45 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Mon, 1 Jan 2024 19:27:40 -0700 Subject: [PATCH] add standalone test for depending on the main module --- test/standalone.zig | 4 +++ test/standalone/depend_on_main_mod/build.zig | 28 +++++++++++++++++++ .../standalone/depend_on_main_mod/src/foo.zig | 6 ++++ .../depend_on_main_mod/src/main.zig | 5 ++++ 4 files changed, 43 insertions(+) create mode 100644 test/standalone/depend_on_main_mod/build.zig create mode 100644 test/standalone/depend_on_main_mod/src/foo.zig create mode 100644 test/standalone/depend_on_main_mod/src/main.zig diff --git a/test/standalone.zig b/test/standalone.zig index 0303c49c13..b26e85c159 100644 --- 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 new file mode 100644 index 0000000000..bbef64693e --- /dev/null +++ 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 new file mode 100644 index 0000000000..0a52bce8aa --- /dev/null +++ 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 new file mode 100644 index 0000000000..0735fff4c7 --- /dev/null +++ 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(); +}