-
-
Notifications
You must be signed in to change notification settings - Fork 136
Fix functional tests failing under nextest #824
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
When running functional tests under nextest, the NEXTEST_RUN_ID environment variable was inherited by child `cargo insta test` invocations. This caused all pending inline snapshots to share the same run_id, breaking the cleanup mechanism that removes stale pending snapshots when tests pass. The fix clears NEXTEST_RUN_ID in the test environment setup so each cargo insta test invocation generates its own unique run_id. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
max-sixty
added a commit
to max-sixty/insta
that referenced
this pull request
Nov 27, 2025
## Changes - Fix backward compatibility for legacy inline snapshot format. Snapshots using single-line content in multiline raw strings now correctly match again. (mitsuhiko#830) - Handle merge conflicts in snapshot files gracefully. When a snapshot file contains git merge conflict markers, insta now detects them and treats the snapshot as missing, allowing tests to continue and create a new pending snapshot for review. (mitsuhiko#829) - Skip nextest_doctest tests when cargo-nextest is not installed. (mitsuhiko#826) - Fix functional tests failing under nextest due to inherited `NEXTEST_RUN_ID` environment variable. (mitsuhiko#824) ## Version Updates - Bump version to 1.44.2 in `insta/Cargo.toml` and `cargo-insta/Cargo.toml` - Update CHANGELOG.md with release notes - Update Cargo.lock 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude <noreply@anthropic.com>
max-sixty
added a commit
to max-sixty/insta
that referenced
this pull request
Nov 27, 2025
## Changes - Fix backward compatibility for legacy inline snapshot format. Snapshots using single-line content in multiline raw strings now correctly match again. (mitsuhiko#830) - Handle merge conflicts in snapshot files gracefully. When a snapshot file contains git merge conflict markers, insta now detects them and treats the snapshot as missing, allowing tests to continue and create a new pending snapshot for review. (mitsuhiko#829) - Skip nextest_doctest tests when cargo-nextest is not installed. (mitsuhiko#826) - Fix functional tests failing under nextest due to inherited `NEXTEST_RUN_ID` environment variable. (mitsuhiko#824) ## Version Updates - Bump version to 1.44.2 in `insta/Cargo.toml` and `cargo-insta/Cargo.toml` - Update CHANGELOG.md with release notes - Update Cargo.lock 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude <noreply@anthropic.com>
max-sixty
added a commit
that referenced
this pull request
Nov 27, 2025
## Summary Prepare for the 1.44.2 patch release with four changes since 1.44.1. ## Changes - Fix backward compatibility for legacy inline snapshot format. Snapshots using single-line content in multiline raw strings now correctly match again. (#830) - Handle merge conflicts in snapshot files gracefully. When a snapshot file contains git merge conflict markers, insta now detects them and treats the snapshot as missing, allowing tests to continue and create a new pending snapshot for review. (#829) - Skip nextest_doctest tests when cargo-nextest is not installed. (#826) - Fix functional tests failing under nextest due to inherited `NEXTEST_RUN_ID` environment variable. (#824) ## Version Updates - Bump version to 1.44.2 in `insta/Cargo.toml` and `cargo-insta/Cargo.toml` - Update CHANGELOG.md with release notes - Update Cargo.lock ## Test plan - [x] All tests pass - [x] Pre-commit lints pass 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude <noreply@anthropic.com>
max-sixty
added a commit
to max-sixty/insta
that referenced
this pull request
Nov 27, 2025
## Summary - Fix `test_pending_snapshot_deletion` failing when run under nextest - Clear `NEXTEST_RUN_ID` environment variable in functional test setup When running functional tests under nextest, the `NEXTEST_RUN_ID` environment variable was inherited by child `cargo insta test` invocations. Since insta uses this variable as the `RUN_ID` for pending snapshots (see `insta/src/snapshot.rs:18`), all pending inline snapshots ended up sharing the same run_id. This broke the cleanup mechanism in `load_batch()` which keeps all entries with the last run_id. When a test passed and wrote a NULL entry to mark the snapshot as clean, the previous failing entry was also kept (same run_id), preventing the `.pending-snap` file from being deleted. ## Test plan - [x] `cargo test --package cargo-insta` passes - [x] `cargo nextest run --package cargo-insta` passes (previously failed on `test_pending_snapshot_deletion`) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude <noreply@anthropic.com>
max-sixty
added a commit
to max-sixty/insta
that referenced
this pull request
Nov 27, 2025
## Summary Prepare for the 1.44.2 patch release with four changes since 1.44.1. ## Changes - Fix backward compatibility for legacy inline snapshot format. Snapshots using single-line content in multiline raw strings now correctly match again. (mitsuhiko#830) - Handle merge conflicts in snapshot files gracefully. When a snapshot file contains git merge conflict markers, insta now detects them and treats the snapshot as missing, allowing tests to continue and create a new pending snapshot for review. (mitsuhiko#829) - Skip nextest_doctest tests when cargo-nextest is not installed. (mitsuhiko#826) - Fix functional tests failing under nextest due to inherited `NEXTEST_RUN_ID` environment variable. (mitsuhiko#824) ## Version Updates - Bump version to 1.44.2 in `insta/Cargo.toml` and `cargo-insta/Cargo.toml` - Update CHANGELOG.md with release notes - Update Cargo.lock ## Test plan - [x] All tests pass - [x] Pre-commit lints pass 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude <noreply@anthropic.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
test_pending_snapshot_deletionfailing when run under nextestNEXTEST_RUN_IDenvironment variable in functional test setupWhen running functional tests under nextest, the
NEXTEST_RUN_IDenvironment variable was inherited by childcargo insta testinvocations. Since insta uses this variable as theRUN_IDfor pending snapshots (seeinsta/src/snapshot.rs:18), all pending inline snapshots ended up sharing the same run_id.This broke the cleanup mechanism in
load_batch()which keeps all entries with the last run_id. When a test passed and wrote a NULL entry to mark the snapshot as clean, the previous failing entry was also kept (same run_id), preventing the.pending-snapfile from being deleted.Test plan
cargo test --package cargo-instapassescargo nextest run --package cargo-instapasses (previously failed ontest_pending_snapshot_deletion)🤖 Generated with Claude Code