diff --git a/lib/std/core/builtin.c3 b/lib/std/core/builtin.c3 index 12a118ad5..84a0c2536 100644 --- a/lib/std/core/builtin.c3 +++ b/lib/std/core/builtin.c3 @@ -503,7 +503,7 @@ macro void? @try(#v, #expr) @builtin @maydiscard { char[] data; // Read until end of file - if (@try_catch(data, load_line(), io::EOF)) break; + if (@try_catch(data, load_line(), io::EOF)!) break; .. use data .. } diff --git a/lib/std/core/runtime_test.c3 b/lib/std/core/runtime_test.c3 index 6b854a2c2..4faad43c9 100644 --- a/lib/std/core/runtime_test.c3 +++ b/lib/std/core/runtime_test.c3 @@ -222,6 +222,7 @@ $endif case "--test-noleak": check_leaks = false; case "--test-nocapture": + case "--test-show-output": context.is_no_capture = true; case "--noansi": context.has_ansi_codes = false; diff --git a/releasenotes.md b/releasenotes.md index 835c3e409..529c00e98 100644 --- a/releasenotes.md +++ b/releasenotes.md @@ -66,6 +66,7 @@ - The option `--riscvfloat` renamed `--riscv-abi`. - Add initial `--cpu-flags` allowing fine grained control over CPU features. - Add `--riscv-cpu` settings for RISC-V processors #2549. +- Deprecate `--test-nocapture` in favour of `--test-show-output` #2588. ### Fixes - Bug in `io::write_using_write_byte`. diff --git a/src/build/build.h b/src/build/build.h index 44d923217..3fca9d36f 100644 --- a/src/build/build.h +++ b/src/build/build.h @@ -529,7 +529,7 @@ typedef struct BuildOptions_ bool test_quiet; bool test_nosort; bool test_noleak; - bool test_nocapture; + bool test_show_output; const char *custom_linker_path; uint32_t symtab_size; unsigned version; diff --git a/src/build/build_options.c b/src/build/build_options.c index c938bea2e..d7d15662f 100644 --- a/src/build/build_options.c +++ b/src/build/build_options.c @@ -150,8 +150,9 @@ static void usage(bool full) print_opt("--test-filter ", "Set a filter when running tests, running only matching tests."); print_opt("--test-breakpoint", "When running tests, trigger a breakpoint on failure."); print_opt("--test-nosort", "Do not sort tests."); - print_opt("--test-noleak", "Disable tracking allocator and memory leak detection for tests"); - print_opt("--test-nocapture", "Disable test stdout capturing, all tests can print as they run"); + print_opt("--test-noleak", "Disable tracking allocator and memory leak detection for tests."); + print_opt("--test-show-output", "Disable test stdout capturing, all tests can print as they run."); + print_opt("--test-nocapture", "Disable test stdout capturing, all tests can print as they run, same as --test-show-output."); print_opt("--test-quiet", "Run tests without printing full names, printing output only on failure"); print_opt("--test-log-level=", "Set log priority when running tests."); } @@ -795,9 +796,9 @@ static void parse_option(BuildOptions *options) options->test_noleak = true; return; } - if (match_longopt("test-nocapture")) + if (match_longopt("test-nocapture") || match_longopt("test-show-output")) { - options->test_nocapture = true; + options->test_show_output = true; return; } if (match_longopt("test-quiet")) diff --git a/src/build/builder.c b/src/build/builder.c index 0107dcc97..f44b6163a 100644 --- a/src/build/builder.c +++ b/src/build/builder.c @@ -331,7 +331,7 @@ static void update_build_target_from_options(BuildTarget *target, BuildOptions * if (options->test_nosort) vec_add(target->args, "--test-nosort"); if (options->test_quiet) vec_add(target->args, "--test-quiet"); if (options->test_noleak) vec_add(target->args, "--test-noleak"); - if (options->test_nocapture) vec_add(target->args, "--test-nocapture"); + if (options->test_show_output) vec_add(target->args, "--test-show-output"); break; case COMMAND_RUN: case COMMAND_COMPILE_RUN: