diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2020-12-28 23:06:47 -0800 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2020-12-28 23:06:47 -0800 |
| commit | 7e1e771f0260b5fd0a5cd2f7e3d669979d8f141b (patch) | |
| tree | 1e8f111c64de7959db6a1c934466e6f153a5a5e8 /src | |
| parent | 79a51511555e88c05efb2e695fc41910b8fdc88d (diff) | |
| download | zig-7e1e771f0260b5fd0a5cd2f7e3d669979d8f141b.tar.gz zig-7e1e771f0260b5fd0a5cd2f7e3d669979d8f141b.zip | |
stage2 tests: fix incorrect path used for execution binary
Diffstat (limited to 'src')
| -rw-r--r-- | src/test.zig | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/src/test.zig b/src/test.zig index 37940c5f13..519cc4bf50 100644 --- a/src/test.zig +++ b/src/test.zig @@ -762,15 +762,16 @@ pub const TestContext = struct { }, .Execution => |expected_stdout| { update_node.setEstimatedTotalItems(4); + + var argv = std.ArrayList([]const u8).init(allocator); + defer argv.deinit(); + var exec_result = x: { var exec_node = update_node.start("execute", 0); exec_node.activate(); defer exec_node.end(); - var argv = std.ArrayList([]const u8).init(allocator); - defer argv.deinit(); - - const exe_path = try std.fmt.allocPrint(arena, "." ++ std.fs.path.sep_str ++ "{s}", .{bin_name}); + const exe_path = try emit_directory.join(arena, &[_][]const u8{bin_name}); if (case.object_format != null and case.object_format.? == .c) { try argv.appendSlice(&[_][]const u8{ std.testing.zig_exe_path, "run", exe_path, "-lc", @@ -837,16 +838,18 @@ pub const TestContext = struct { switch (exec_result.term) { .Exited => |code| { if (code != 0) { - std.debug.print("{s}: execution exited with code {d}. stderr:\n{s}", .{ - case.name, code, exec_result.stderr, + std.debug.print("\n{s}\n{s}: execution exited with code {d}:\n", .{ + exec_result.stderr, case.name, code, }); + dumpArgs(argv.items); return error.ZigTestFailed; } }, else => { - std.debug.print("{s}: execution crashed. stderr:\n{s}", .{ - case.name, exec_result.stderr, + std.debug.print("\n{s}\n{s}: execution crashed:\n", .{ + exec_result.stderr, case.name, }); + dumpArgs(argv.items); return error.ZigTestFailed; }, } @@ -967,3 +970,10 @@ pub const TestContext = struct { } } }; + +fn dumpArgs(argv: []const []const u8) void { + for (argv) |arg| { + std.debug.print("{s} ", .{arg}); + } + std.debug.print("\n", .{}); +}
\ No newline at end of file |
