Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: nextest-rs/nextest
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 9e7a5545dde7ee1f492b7e3f1806d7b0edb6796a
Choose a base ref
..
head repository: nextest-rs/nextest
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 6ae06a28acdba81ab44a13df9cb3a86bd9937ed3
Choose a head ref
Showing with 328 additions and 151 deletions.
  1. +20 −26 .github/workflows/ci.yml
  2. +3 −3 .github/workflows/coverage.yml
  3. +2 −2 .github/workflows/docs.yml
  4. +2 −2 .github/workflows/hakari.yml
  5. +11 −11 .github/workflows/release.yml
  6. +56 −57 Cargo.lock
  7. +9 −9 Cargo.toml
  8. +1 −0 fixture-data/src/nextest_tests.rs
  9. +24 −0 fixtures/nextest-tests/with-build-script/build.rs
  10. +13 −0 fixtures/nextest-tests/with-build-script/src/lib.rs
  11. +1 −0 integration-tests/tests/integration/snapshots/integration__list_with_default_set_basic.snap
  12. +1 −0 integration-tests/tests/integration/snapshots/integration__list_with_default_set_bound_all.snap
  13. +1 −0 integration-tests/tests/integration/snapshots/integration__list_with_default_set_expr_all.snap
  14. +1 −0 integration-tests/tests/integration/snapshots/integration__list_with_default_set_expr_default.snap
  15. +1 −0 integration-tests/tests/integration/snapshots/integration__show_config_test_groups-2.snap
  16. +1 −0 integration-tests/tests/integration/snapshots/integration__show_config_test_groups-4.snap
  17. +1 −0 integration-tests/tests/integration/snapshots/integration__show_config_test_groups-6.snap
  18. +8 −5 nextest-runner/src/helpers.rs
  19. +18 −1 nextest-runner/src/reuse_build/archiver.rs
  20. +5 −2 nextest-runner/src/runner.rs
  21. +11 −0 nextest-runner/src/signal.rs
  22. +101 −10 nextest-runner/src/test_command.rs
  23. +10 −2 site/README.md
  24. +6 −3 site/pyproject.toml
  25. +4 −1 site/src/docs/configuration/env-vars.md
  26. +7 −7 site/uv.lock
  27. +10 −10 workspace-hack/Cargo.toml
46 changes: 20 additions & 26 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -20,7 +20,7 @@ jobs:
- ubuntu-latest
- windows-latest
steps:
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy
@@ -30,7 +30,7 @@ jobs:
- name: Lint (rustfmt)
run: cargo xfmt --check
- name: Install cargo readme
uses: taiki-e/install-action@437c908c7e5ee18b63a261286cbe5147219f8a39 # v2
uses: taiki-e/install-action@278aeeb6e331c1bd610bffe45862e09452854b1a # v2
with:
tool: cargo-readme
- name: Run cargo readme
@@ -46,7 +46,7 @@ jobs:
os: [ubuntu-latest]
fail-fast: false
steps:
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy
@@ -68,7 +68,7 @@ jobs:
rust-version: ["1.75", stable]
fail-fast: false
steps:
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust-version }}
@@ -130,30 +130,21 @@ jobs:

test-archive-target-runner:
name: Test archives with a target runner
# gcc-mingw-w64-x86-64-win32 requires Ubuntu 22.04
runs-on: ubuntu-22.04
# We need at least 24.04 for updated wine and mingw. 22.04 has a wine that's too old (and the
# official WineHQ PPA breaks every so often).
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
targets: x86_64-pc-windows-gnu
- uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2

# The version of wine that comes with Ubuntu 22.04 is too old: it doesn't contain
# bcryptprimitives.dll, which is required to run binaries built with Rust 1.78+. We use the
# WineHQ PPA to get a newer version.
- name: Add Wine PPA
run: |
sudo dpkg --add-architecture i386
wget -nc https://dl.winehq.org/wine-builds/winehq.key
sudo apt-key add winehq.key
sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ jammy main'
- name: Install wine and gcc-mingw-w64-x86-64-win32
run: |
sudo apt-get update
sudo apt-get install winehq-stable gcc-mingw-w64-x86-64-win32
sudo apt-get install wine gcc-mingw-w64-x86-64-win32
- name: Build cargo-nextest
run: cargo build --package cargo-nextest
- name: Archive test fixtures
@@ -198,27 +189,30 @@ jobs:
name: Test archives with a runner (destination)
strategy:
matrix:
os:
- ubuntu-latest
- windows-latest
runs-on: ${{ matrix.os }}
data:
- os: ubuntu-24.04
# The artifact name is set by the upload job, which is ubuntu-latest.
artifact-name: ubuntu-latest
- os: windows-latest
artifact-name: windows-latest
runs-on: ${{ matrix.data.os }}
needs:
- test-archive-target-runner
- build
steps:
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- name: Download nextest binary
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
with:
name: cargo-nextest-${{ matrix.os }}-stable
name: cargo-nextest-${{ matrix.data.artifact-name }}-stable
path: nextest-bin
- name: Download archive
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
with:
name: fixture-archive
path: fixture-archive
- name: Run test fixtures (host)
if: ${{ matrix.os == 'ubuntu-latest' }}
if: ${{ matrix.data.artifact-name == 'ubuntu-latest' }}
env:
CARGO_NEXTEST: nextest-bin/cargo-nextest
run: |
@@ -228,7 +222,7 @@ jobs:
--workspace-remap $GITHUB_WORKSPACE/fixtures/nextest-tests \
-E 'platform(host)'
- name: Run test fixtures (target)
if: ${{ matrix.os == 'windows-latest' }}
if: ${{ matrix.data.artifact-name == 'windows-latest' }}
shell: bash
env:
CARGO_NEXTEST: nextest-bin/cargo-nextest.exe
6 changes: 3 additions & 3 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
@@ -17,19 +17,19 @@ jobs:
RUSTFLAGS: -D warnings
CARGO_TERM_COLOR: always
steps:
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
# Nightly Rust is used for cargo llvm-cov --doc below.
- uses: dtolnay/rust-toolchain@nightly
with:
components: llvm-tools-preview
- uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2

- name: Install latest nextest release
uses: taiki-e/install-action@437c908c7e5ee18b63a261286cbe5147219f8a39 # v2
uses: taiki-e/install-action@278aeeb6e331c1bd610bffe45862e09452854b1a # v2
with:
tool: nextest
- name: Install cargo-llvm-cov
uses: taiki-e/install-action@437c908c7e5ee18b63a261286cbe5147219f8a39 # v2
uses: taiki-e/install-action@278aeeb6e331c1bd610bffe45862e09452854b1a # v2
with:
tool: cargo-llvm-cov

4 changes: 2 additions & 2 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -17,7 +17,7 @@ jobs:
concurrency: ci-${{ github.ref }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
# The full history is required to make mkdocs' git-revision-date-localized plugin work
fetch-depth: 0
@@ -26,7 +26,7 @@ jobs:
- name: Install nextest for help text in docs
uses: taiki-e/install-action@nextest
- name: Install uv
uses: eifinger/setup-uv@e9305af4bcb00eda1df5db6e72f5d93902c11da5 # v1.0.2
uses: eifinger/setup-uv@3b9817b1bf26186f03ab8277bab9b827ea5cc254 # v3.2.0
with:
enable-cache: true
- name: Build rustdoc
4 changes: 2 additions & 2 deletions .github/workflows/hakari.yml
Original file line number Diff line number Diff line change
@@ -17,10 +17,10 @@ jobs:
env:
RUSTFLAGS: -D warnings
steps:
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- uses: dtolnay/rust-toolchain@stable
- name: Install cargo-hakari
uses: taiki-e/install-action@437c908c7e5ee18b63a261286cbe5147219f8a39 # v2
uses: taiki-e/install-action@278aeeb6e331c1bd610bffe45862e09452854b1a # v2
with:
tool: cargo-hakari
- name: Check workspace-hack Cargo.toml is up-to-date
22 changes: 11 additions & 11 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -11,13 +11,13 @@ jobs:
if: github.repository_owner == 'nextest-rs' && startsWith(github.ref_name, 'nextest-filtering-')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
persist-credentials: false
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Install cargo release
uses: taiki-e/install-action@437c908c7e5ee18b63a261286cbe5147219f8a39 # v2
uses: taiki-e/install-action@278aeeb6e331c1bd610bffe45862e09452854b1a # v2
with:
tool: cargo-release@0.25.0
- uses: taiki-e/create-gh-release-action@72d65cee1f8033ef0c8b5d79eaf0c45c7c578ce3 # v1
@@ -36,13 +36,13 @@ jobs:
if: github.repository_owner == 'nextest-rs' && startsWith(github.ref_name, 'nextest-metadata-')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
persist-credentials: false
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Install cargo release
uses: taiki-e/install-action@437c908c7e5ee18b63a261286cbe5147219f8a39 # v2
uses: taiki-e/install-action@278aeeb6e331c1bd610bffe45862e09452854b1a # v2
with:
tool: cargo-release@0.25.0
- uses: taiki-e/create-gh-release-action@72d65cee1f8033ef0c8b5d79eaf0c45c7c578ce3 # v1
@@ -61,13 +61,13 @@ jobs:
if: github.repository_owner == 'nextest-rs' && startsWith(github.ref_name, 'nextest-runner-')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
persist-credentials: false
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Install cargo release
uses: taiki-e/install-action@437c908c7e5ee18b63a261286cbe5147219f8a39 # v2
uses: taiki-e/install-action@278aeeb6e331c1bd610bffe45862e09452854b1a # v2
with:
tool: cargo-release@0.25.0
- uses: taiki-e/create-gh-release-action@72d65cee1f8033ef0c8b5d79eaf0c45c7c578ce3 # v1
@@ -86,7 +86,7 @@ jobs:
if: github.repository_owner == 'nextest-rs' && startsWith(github.ref_name, 'cargo-nextest-')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
persist-credentials: false
# Note: do not publish this until binaries are built and uploaded below. This is so that
@@ -161,7 +161,7 @@ jobs:
build-tool: cross
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- uses: taiki-e/upload-rust-binary-action@3a8b5e35eb5fea810221264dfde09e920c1d5310 # v1.22.1
@@ -208,11 +208,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Clone nextest repository
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
path: nextest
- name: Clone release-meta repository
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
repository: nextest-rs/release-meta
ref: main
@@ -222,7 +222,7 @@ jobs:
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Install cargo release
uses: taiki-e/install-action@437c908c7e5ee18b63a261286cbe5147219f8a39 # v2
uses: taiki-e/install-action@278aeeb6e331c1bd610bffe45862e09452854b1a # v2
with:
tool: cargo-release@0.25.0
- name: Download mukti
Loading