aboutsummaryrefslogtreecommitdiff
path: root/lib/test_runner.zig
AgeCommit message (Collapse)Author
2024-02-26move lazily compiled source files to lib/compiler/Andrew Kelley
2024-02-01remove std.io.ModeVeikka Tuominen
2024-02-01std: make options a struct instance instead of a namespaceVeikka Tuominen
2023-11-01wasm: re-enable regressed testsLuuk de Gram
2023-10-31mem: fix ub in writeIntJacob Young
Use inline to vastly simplify the exposed API. This allows a comptime-known endian parameter to be propogated, making extra functions for a specific endianness completely unnecessary.
2023-08-25Build: fail tests that log errors, like `zig test` doesJacob Young
2023-07-25test/standalone: reinstate std.ChildProcess testsalex
67d5bfef removed std.ChildProcess tests, suggesting to make them standalone instead. This commit does exactly that after the bug creating SIGPIPE in ReleaseFast is no more with LLVM 15.0.5. Thanks to @x1ddos for the idea with the compile artifacts and PR improvements.
2023-07-19llvm: compute data layout without help like a grownup compilerJacob Young
2023-06-24all: migrate code to new cast builtin syntaxmlugg
Most of this migration was performed automatically with `zig fmt`. There were a few exceptions which I had to manually fix: * `@alignCast` and `@addrSpaceCast` cannot be automatically rewritten * `@truncate`'s fixup is incorrect for vectors * Test cases are not formatted, and their error locations change
2023-06-19all: zig fmt and rename "@XToY" to "@YFromX"Eric Joldasov
Signed-off-by: Eric Joldasov <bratishkaerik@getgoogleoff.me>
2023-05-19wasm: fix return `ret_load` with zero-size typeLuuk de Gram
When we have a `ret_load` instruction with a zero-sized type which was not an error, we would not emit any instruction. This resulted in no `return` instruction and also not correctly resetting the global stack_pointer. This commit also enables the regular test runner for the WebAssembly backend.
2023-05-01x86_64: enable normal start/test_runner logic on more targetsJacob Young
2023-05-01test_runner: use const to control verbose outputJacob Young
2023-04-26behavior: update passing cbe testsJacob Young
2023-04-22std: GPA deinit return an enum instead of a boolBorja Clemente
2023-04-20x86_64: enable advanced test runner on LinuxJacob Young
2023-03-15test runner: remove one superfluous stack frameAndrew Kelley
2023-03-15make the build runner and test runner talk to each otherAndrew Kelley
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.
2023-02-18update std lib and compiler sources to new for loop syntaxAndrew Kelley
2023-01-26wasm: uses main instead of main2 for test runnerTakeshi Yoneda
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io>
2023-01-05std: collect all options under one namespaceVeikka Tuominen
2022-11-01stage2 AArch64: misc fixes, enable printing in test runnerjoachimschmidt557
- Fixed missing airRetPtr implementation - Fixed wrong pop_regs order - Fixed wrong source and destination register in store
2022-10-31cbe: improve support for non-native float typesJacob Young
* Fix _start on aarch64. * Add fallbacks when a float type is unsupported. Fixes #13357
2022-10-25cbe: get enough things working to support basic programsJacob Young
* Enable advanced start support. * Enable advanced test_runner support. * Zig Language Reference's Hello World now works.
2022-09-14Move std.testing.zig_exe_path into build optionsMartin Wickham
2022-08-22Revert "test_runner: workaround #1923, isolating error traces in tests"Andrew Kelley
This reverts commit 1a32f2a7f40328799537cc94240a57054a1275bc. Sorry, this workaround is not welcome. Instead, please solve the actual issue by doing the accepted behavior in the compiler itself: > in a catch or else (handling a returned error), if the block does not > try or return error.xyz, set the index to 0 This also applies to if statements, such as the one that test runner is doing just above this hack.
2022-08-22test_runner: workaround #1923, isolating error traces in testsTechcable
Essentially #1923 means "caught" errors still show up in error return traces. The correct fix would require the compiler to fix this, but that could affect performance. For now, simply workaround this issue by clearing the return traces between tests. This means that "caught" errors in one test will not show up in the error traces of other tests.
2022-07-24Fix indexing in the test runner's log formattingLewis Gaul
2022-05-26std.Progress.log: adjust APIAndrew Kelley
Now it will fall back to std.debug.print if there is no tty.
2022-05-17zig test: Add proper detection for Windows consoleYeonJiKun
2022-05-16stage2: disable error return tracing on unsupported targetsVeikka Tuominen
2022-05-06flatten lib/std/special and improve "pkg inside another" logicAndrew Kelley
stage2: change logic for detecting whether the main package is inside the std package. Previously it relied on realpath() which is not portable. This uses resolve() which is how imports already work. * stage2: fix cleanup bug when creating Module * flatten lib/std/special/* to lib/* - this was motivated by making main_pkg_is_inside_std false for compiler_rt & friends. * rename "mini libc" to "universal libc"