mirror of
https://github.com/ziglang/zig.git
synced 2025-12-06 14:23:09 +00:00
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.
40 lines
1.4 KiB
Zig
40 lines
1.4 KiB
Zig
pub const Message = struct {
|
|
pub const Header = extern struct {
|
|
tag: Tag,
|
|
/// Size of the body only; does not include this Header.
|
|
bytes_len: u32,
|
|
};
|
|
|
|
pub const Tag = enum(u32) {
|
|
/// Tells the compiler to shut down cleanly.
|
|
/// No body.
|
|
exit,
|
|
/// Tells the compiler to detect changes in source files and update the
|
|
/// affected output compilation artifacts.
|
|
/// If one of the compilation artifacts is an executable that is
|
|
/// running as a child process, the compiler will wait for it to exit
|
|
/// before performing the update.
|
|
/// No body.
|
|
update,
|
|
/// Tells the compiler to execute the executable as a child process.
|
|
/// No body.
|
|
run,
|
|
/// Tells the compiler to detect changes in source files and update the
|
|
/// affected output compilation artifacts.
|
|
/// If one of the compilation artifacts is an executable that is
|
|
/// running as a child process, the compiler will perform a hot code
|
|
/// swap.
|
|
/// No body.
|
|
hot_update,
|
|
/// Ask the test runner for metadata about all the unit tests that can
|
|
/// be run. Server will respond with a `test_metadata` message.
|
|
/// No body.
|
|
query_test_metadata,
|
|
/// Ask the test runner to run a particular test.
|
|
/// The message body is a u32 test index.
|
|
run_test,
|
|
|
|
_,
|
|
};
|
|
};
|