Releases: nextest-rs/nextest
nextest-runner 0.74.0
See the changelog for cargo-nextest 0.9.91.
cargo-nextest 0.9.91
Added
- Nextest now supports assigning test priorities via configuration.
cargo-nextest 0.9.90
Added
-
Tests are now assigned global and group slot numbers. These numbers are non-negative integers starting from 0 that are unique for the lifetime of the test, but are reused after the test ends.
Global and group slot numbers can be accessed via the
NEXTEST_TEST_GLOBAL_SLOT
andNEXTEST_TEST_GROUP_SLOT
environment variables, respectively. For more, see Slot numbers. -
Test environments now have the
NEXTEST_TEST_GROUP
variable set to the test group they're in, or"@global"
if the test is not in any groups.
nextest-runner 0.73.0
See the changelog for cargo-nextest 0.9.90.
nextest-runner 0.72.0
See the changelog for cargo-nextest 0.9.89.
nextest-filtering 0.14.0
Changed
- Internal dependency update: winnow updated to 0.7. Thanks to Ed Page for the update!
cargo-nextest 0.9.89
Added
-
To configure fail-fast behavior,
max-fail
can now be specified in configuration. For example, to fail after 5 tests:[profile.default] fail-fast = { max-fail = 5 }
fail-fast = true
is the same as{ max-fail = 1 }
, andfail-fast = false
is{ max-fail = "all" }
.Thanks to Jayllyz for your first contribution!
-
Within tests and scripts, the
NEXTEST_PROFILE
environment variable is now always set to the current configuration profile. Previously, this would only happen if the profile was configured viaNEXTEST_PROFILE
, as a side effect of the environment being passed through.
Changed
-
The
--max-fail
and--no-tests
options no longer require using an equals sign. For example,--max-fail 5
and--max-fail=5
now both work.This was previously done to avoid confusion between test name filters and arguments. But we believe the new
--no-tests
default to fail sufficiently mitigates this downside, and uniformity across options is valuable.
Fixed
- Nextest now uses
rustc -vV
to obtain the host target triple, rather than using the target the cargo-nextest binary was built for. This fixes behavior for runtime cross-compatible binaries, such as-linux-musl
binaries running on-linux-gnu
. - If nextest is paused and later continued, the progress bar's time taken now excludes the amount of time nextest was paused for.
- Update rust-openssl for CVE-2025-24898.
Miscellaneous
- Nextest now documents the safety of altering the environment within tests. As a result of nextest's process-per-test model, it is generally safe to call
std::env::set_var
andremove_var
at the beginning of tests. - With Rust 1.84 and above, builds using musl no longer have slow process spawns. With this improvement, glibc and musl builds of nextest are now roughly at par, and should have similar performance characteristics.
nextest-runner 0.71.0
See the changelog for cargo-nextest 0.9.88.
nextest-filtering 0.13.0
Changed
- MSRV updated to Rust 1.81.
- Internal dependency updates.
cargo-nextest 0.9.88
Added
- If nextest's keyboard input handler is enabled, pressing Enter now produces a summary line (e.g.
Running [ 00:00:05] 131/297: 32 running, 131 passed, 1 skipped
). This enables common use cases where Enter is pressed to mark a point in time. - On illumos, Ctrl-T (
SIGINFO
) is now supported as a way to query live status. Querying live status is also supported on BSDs with Ctrl-T, on any Unix viaSIGUSR1
, as well as by pressing thet
key in interactive sessions.
Changed
- If nextest is unable to parse
--target
(and in particular, a custom target), it now fails rather than printing a warning and assuming the host platform. This is being treated as a bugfix because the previous behavior was incorrect.
Fixed
- Custom targets now respect
target_family
predicates likecfg(unix)
. - Nextest now exits cleanly if the progress bar is enabled and writing to standard error fails. This matches the behavior in case the progress bar is disabled.
- If nextest is compiled with a system libzstd that doesn't have multithreading support, archive support no longer fails. Thanks Leandros for your first contribution!