aboutsummaryrefslogtreecommitdiff
path: root/src/objcopy.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2023-03-12 00:39:21 -0700
committerAndrew Kelley <andrew@ziglang.org>2023-03-15 10:48:14 -0700
commitede5dcffea5a3a5fc9fd14e4e180464633402fae (patch)
treedcf88812197be81cdb36b747d2b2b55c56d2192b /src/objcopy.zig
parentef5f8bd7c62f929b5cc210caa816ce4a8c8f8538 (diff)
downloadzig-ede5dcffea5a3a5fc9fd14e4e180464633402fae.tar.gz
zig-ede5dcffea5a3a5fc9fd14e4e180464633402fae.zip
make the build runner and test runner talk to each other
std.Build.addTest creates a CompileStep as before, however, this kind of step no longer actually runs the unit tests. Instead it only compiles it, and one must additionally create a RunStep from the CompileStep in order to actually run the tests. RunStep gains integration with the default test runner, which now supports the standard --listen=- argument in order to communicate over stdin and stdout. It also reports test statistics; how many passed, failed, and leaked, as well as directly associating the relevant stderr with the particular test name that failed. This separation of CompileStep and RunStep means that `CompileStep.Kind.test_exe` is no longer needed, and therefore has been removed in this commit. * build runner: show unit test statistics in build summary * added Step.writeManifest since many steps want to treat it as a warning and emit the same message if it fails. * RunStep: fixed error message that prints the failed command printing the original argv and not the adjusted argv in case an interpreter was used. * RunStep: fixed not passing the command line arguments to the interpreter. * move src/Server.zig to std.zig.Server so that the default test runner can use it. * the simpler test runner function which is used by work-in-progress backends now no longer prints to stderr, which is necessary in order for the build runner to not print the stderr as a warning message.
Diffstat (limited to 'src/objcopy.zig')
-rw-r--r--src/objcopy.zig9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/objcopy.zig b/src/objcopy.zig
index e821a94b59..c3305e8c04 100644
--- a/src/objcopy.zig
+++ b/src/objcopy.zig
@@ -8,8 +8,8 @@ const assert = std.debug.assert;
const main = @import("main.zig");
const fatal = main.fatal;
-const cleanExit = main.cleanExit;
-const Server = @import("Server.zig");
+const Server = std.zig.Server;
+const build_options = @import("build_options");
pub fn cmdObjCopy(
gpa: Allocator,
@@ -116,6 +116,7 @@ pub fn cmdObjCopy(
.gpa = gpa,
.in = std.io.getStdIn(),
.out = std.io.getStdOut(),
+ .zig_version = build_options.version,
});
defer server.deinit();
@@ -124,7 +125,7 @@ pub fn cmdObjCopy(
const hdr = try server.receiveMessage();
switch (hdr.tag) {
.exit => {
- return cleanExit();
+ return std.process.cleanExit();
},
.update => {
if (seen_update) {
@@ -144,7 +145,7 @@ pub fn cmdObjCopy(
}
}
}
- return cleanExit();
+ return std.process.cleanExit();
}
const usage =