cacheprovider: fix "Directory not empty" crash from cache directory creation#12408
Merged
bluetech merged 1 commit intopytest-dev:mainfrom Jun 3, 2024
Merged
cacheprovider: fix "Directory not empty" crash from cache directory creation#12408bluetech merged 1 commit intopytest-dev:mainfrom
bluetech merged 1 commit intopytest-dev:mainfrom
Conversation
…reation Fix pytest-dev#12381 Test plan: It's possible to write a deterministic test case for this, but somewhat of a hassle so I tested it manually. I reproduced by removing existing `.pytest_cache`, adding a sleep before the rename and running two pytests. I verified that it doesn't reproduce after the fix.
| # https://github.com/python/cpython/issues/74168. Note that passing delete=False would | ||
| # do the wrong thing in case of errors and isn't supported until python 3.12. | ||
| path.mkdir() | ||
| try: |
Member
There was a problem hiding this comment.
making this testable needs to the act of filling and renaming into a new utility method,
its then possible to just invoke that method twice
this will be a slightly dirty test, but much smaller than trying threads or processes
Member
Author
There was a problem hiding this comment.
Yes it's possible, just over my effort threshold for this...
amezin
added a commit
to amezin/pytest-cache-race
that referenced
this pull request
Jun 2, 2024
Member
Author
|
Thanks for confirming @amezin. |
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
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.
Fix #12381
Test plan:
It's possible to write a deterministic test case for this, but somewhat of a hassle so I tested it manually. I reproduced by removing existing
.pytest_cache, adding a sleep before the rename and running two pytests. I verified that it doesn't reproduce after the fix.