gh-91133: tempfile.TemporaryDirectory: fix symlink bug in cleanup #99930
+73
−14
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.
This PR fixes issue gh-91133, in which
TemporaryDirectory.cleanup
could try to fix permissions when deleting a symlink, but accidentally fix permissions of the target of the symlink instead.(It also changes the
test_flags
test case so it doesn't leave behindNOUNLINK
files when the test fails, which is just annoying when working on any change to theTemporaryDirectory
code.)Compatibility: There could conceivably be code out there relying on
TemporaryDirectory.cleanup
modifying permissions on files outside the tempdir being cleaned up, which the fixed code will no longer do.Regarding the PR checks: "Ubuntu SSL tests with OpenSSL (3.0.7)" is failing due to a network error (instability, I assume), and the CLA Signing bot updated its comment when I signed the CLA, but not its check status. Not sure how to proceed.