-
Notifications
You must be signed in to change notification settings - Fork 340
Enforce that snapshot files should be unique #1592
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
Can not use `SnapshotReporter$snap_file_seen` as it is encouraged to use this field via `announce_snapshot_file(file)` to avoid files being deleted. However, if we record what has been saved, then no saved file should be duplicated. Once a new test file starts, `$snap_file_saved` should be reset
Member
|
Are you still interesting in this? If so, if you fix the merge conflicts, I'm happy to consider for the next release. |
Contributor
Author
|
Yes. I'll resolve the conflicts here shortly 😃 |
* upstream/HEAD: (250 commits) Implement `expect_shape()` (r-lib#1469) Re-enable catch tests on windows (r-lib#2104) Move digest to suggests (r-lib#2105) Support emscripten in `skip_on_os()` (r-lib#2103) Add `skip_unless_r()` (r-lib#2094) Require R 4.1 (r-lib#2101) Allow unquoting first arg for `expect_s4_class()` (r-lib#2065) typo fix (r-lib#2051) Explicitly pass `parent.frame()` in `it()` (r-lib#2086) Update vignette advice for migrating to {testthat} 3e (r-lib#2080) New praise messages (r-lib#1974) move '!' outside aggregation (r-lib#2067) Handle deprecation of std::uncaught_exception() (r-lib#2097) perf: use `anyNA()` (r-lib#2058) Upkeep (r-lib#2099) Implement `mock_output_sequence()` (r-lib#2061) Increment version number to 3.2.3.9000 Increment version number to 3.2.3 Update CRAN comments Finish off r-lib#2046 ...
hadley
reviewed
Jul 25, 2025
hadley
reviewed
Jul 25, 2025
…as received (test author error)
schloerke
commented
Jul 25, 2025
schloerke
commented
Jul 25, 2025
schloerke
commented
Jul 25, 2025
Contributor
Author
|
@hadley PR is much cleaner now.
|
schloerke
commented
Jul 25, 2025
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.
It seems odd that two different tests can save to the same snapshot file without error. This PR enforces that once a snapshot file has had an expectation, it can not have another expectation.
I tried doing this in
{shinytest2}, but it felt like a giant hack and should be pushed upstream to{testthat}.Implementation details:
We can not use
SnapshotReporter$snap_file_seenas it is encouraged to use this field viaannounce_snapshot_file(file)to avoid files being deleted.However, if we record what has been saved, then no saved file should be duplicated. Once a new test file starts,
$snap_file_savedshould be reset