From e514a3e79fb783333f3856d4cf1b56c822b97df0 Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Sat, 15 Feb 2025 22:08:03 -0800 Subject: [PATCH] add tests and update to zig 0.13 --- build.zig | 27 +++++++++------------------ src/lib.zig | 6 +++--- test.zig | 6 ++++++ 3 files changed, 18 insertions(+), 21 deletions(-) create mode 100644 test.zig diff --git a/build.zig b/build.zig index 9498f6603f7bc63d9cb80a27dd44427be2a4eb1d..629f32099d91efb146e1f88465f3060f00f2f4cc 100644 --- a/build.zig +++ b/build.zig @@ -6,26 +6,17 @@ pub fn build(b: *std.Build) void { const mode = b.option(std.builtin.Mode, "mode", "") orelse .Debug; const disable_llvm = b.option(bool, "disable_llvm", "use the non-llvm zig codegen") orelse false; - const exe = b.addExecutable(.{ - .name = "zig-flag", - .root_source_file = b.path("src/main.zig"), + const tests = b.addTest(.{ + .root_source_file = b.path("test.zig"), .target = target, .optimize = mode, }); - deps.addAllTo(exe); - exe.use_llvm = !disable_llvm; - exe.use_lld = !disable_llvm; - b.installArtifact(exe); + deps.addAllTo(tests); + tests.use_llvm = !disable_llvm; + tests.use_lld = !disable_llvm; - const run_cmd = b.addRunArtifact(exe); - run_cmd.step.dependOn(b.getInstallStep()); - if (b.args) |args| { - run_cmd.addArgs(args); - } - - const run_step = b.step("run", "Run the app"); - run_step.dependOn(&run_cmd.step); - - const test_step = b.step("test", "dummy test step to pass CI checks"); - _ = test_step; + const test_step = b.step("test", "Run all library tests"); + const tests_run = b.addRunArtifact(tests); + tests_run.has_side_effects = true; + test_step.dependOn(&tests_run.step); } diff --git a/src/lib.zig b/src/lib.zig index 0d76cecff89f5c487a11667d982f1ce3b8c93a80..7c32ffe93cf64105119615873db5ebb6c38b11f7 100644 --- a/src/lib.zig +++ b/src/lib.zig @@ -67,7 +67,7 @@ pub fn parse(k: FlagDashKind) !std.process.ArgIterator { } } std.log.err("Unrecognized argument: {s}{s}", .{ dash, name }); - std.os.exit(1); + std.posix.exit(1); } return argiter; } @@ -78,7 +78,7 @@ pub fn parseEnv() !void { for (singles.keys(), singles.values()) |k, *v| { const u = try fixNameForEnv(alloc, k); defer alloc.free(u); - if (std.os.getenv(u)) |value| { + if (std.posix.getenv(u)) |value| { v.* = value; } } @@ -89,7 +89,7 @@ pub fn parseEnv() !void { defer alloc.free(u); const w = try std.fmt.allocPrint(alloc, "{s}_{d}", .{ u, n }); defer alloc.free(w); - if (std.os.getenv(w)) |value| { + if (std.posix.getenv(w)) |value| { try v.append(value); continue; } diff --git a/test.zig b/test.zig new file mode 100644 index 0000000000000000000000000000000000000000..d5a1e36edd2a079c6c9919c5023024ce02e569cf --- /dev/null +++ b/test.zig @@ -0,0 +1,6 @@ +const std = @import("std"); +const flag = @import("flag"); + +test { + std.testing.refAllDeclsRecursive(flag); +} -- 2.54.0