zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

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:
Mtest/standalone.zig | 4++++
Atest/standalone/depend_on_main_mod/build.zig | 28++++++++++++++++++++++++++++
Atest/standalone/depend_on_main_mod/src/foo.zig | 6++++++
Atest/standalone/depend_on_main_mod/src/main.zig | 5+++++
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(); +}