From d3703aa23d323bfb3b066eafdbd95fa6c333eebe Mon Sep 17 00:00:00 2001 From: Lyssieth Date: Thu, 28 Nov 2024 17:57:44 +0200 Subject: [PATCH] Remove `stderr` pollution in tests --- src/args/args.zig | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/args/args.zig b/src/args/args.zig index 1f52f3c..3e5f3b2 100644 --- a/src/args/args.zig +++ b/src/args/args.zig @@ -249,6 +249,11 @@ fn initFromParsed(comptime T: type, allocator: Allocator, flags: []Arg) !T { } } + if (builtin.is_test) { + // early return to not pollute the stderr + return error.NoValueForFlag; + } + if (inDebugMode) { log.warn("flag `{s}` expected a value, but none was provided", .{f.name}); log.warn("expected type: {s}", .{niceTypeName(@TypeOf(fie.*.value))}); @@ -325,11 +330,11 @@ fn initFromParsed(comptime T: type, allocator: Allocator, flags: []Arg) !T { } } else { if (builtin.is_test) { - log.warn("could not find positional argument for `{s}`", .{field.name}); - } else { - log.err("could not find positional argument for `{s}`", .{field.name}); + // early return to not pollute the stderr + return error.NoArgumentFound; } + log.err("could not find positional argument for `{s}`", .{field.name}); log.warn("hint: expected type: {s}", .{niceTypeName(@TypeOf(fie.*.value))}); log.warn("hint: try ``", .{}); return error.NoArgumentFound;