Added
-
A new
junit.report-skippedconfiguration setting controls which skipped tests are emitted in the JUnit XML report as<testcase>elements with a<skipped>child. (#885)Thanks to liangfu for your first contribution!
-
While listing tests, nextest now shows a progress bar if listing takes longer than 2 seconds. Listing is usually fast, but can be slow in some environments, such as with antivirus software that scans each test binary before it runs. (#3471)
-
The binaries metadata (used by archives and
--binaries-metadata) now records whether Cargo built each non-test binary for the host or the target platform. Future versions of nextest will use this to configure environment variables correctly in cross-compilation scenarios. (#3520)
Changed
- Nextest now orders the dynamic library search path the way current versions of Cargo do, with the Cargo artifact directory ahead of the
depsdirectory. Previously the two were reversed, so a test could potentially resolve adylibto a different copy thancargo testwould. (Cargo swapped the two in 1.93.)
Fixed
- Nextest now computes the dynamic library search path correctly under build directory layout v2, which became the default on nightly Rust on 2026-07-30. Previously, tests that linked against a
dylibdependency failed to start because the dynamic library could not be found. - When Cargo's
build.build-diris configured, nextest now adds the Cargo artifact directory (where final artifacts like binaries and dynamic libraries are uplifted to) instead of the build directory (for intermediate artifacts) to the dynamic library search path. This matches Cargo's behavior. - Nextest now detects the base output directory for test binaries built from
[[example]]targets, which Cargo places inexamplesrather thandeps. Previously, a run restricted to examples didn't add anything to the dynamic library search path, so an example test linking against adylibfailed to start. - While creating an archive with a filterset, nextest now always includes dynamic libraries in the archive, even those from packages whose test binaries are all filtered out. Dynamic libraries are on the library search path and may be loaded by tests in other packages. Binaries exposed via
CARGO_BIN_EXE_<name>are still filtered out if no test binaries from that package are selected. (#3516) - The "Archiving" message now counts non-test binaries correctly. Previously, nextest counted the number of packages containing non-test binaries rather than the number of binaries. (#3515)