Skip to content

Commit a4df61d

Browse files
committed
Make sure tempfile is patched after resume
- fixes #1098 (regression in version 5.7.2)
1 parent f7db85c commit a4df61d

File tree

3 files changed

+14
-0
lines changed

3 files changed

+14
-0
lines changed

CHANGES.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,12 @@ The released versions correspond to PyPI releases.
1212
* the default for `FakeFilesystem.shuffle_listdir_results` will change to `True` to reflect
1313
the real filesystem behavior
1414

15+
## Unreleased
16+
17+
### Fixes
18+
* fixed a regression in version 5.7.2 that `tempfile` was not patched after pause/resume
19+
(POSIX only, see [#1098](../../issues/1098))
20+
1521
## [Version 5.7.2](https://pypi.python.org/pypi/pyfakefs/5.7.2) (2024-12-01)
1622
Fixes some problems with patching.
1723

pyfakefs/fake_filesystem_unittest.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ def stop_patching(self):
125125
tempfile._TemporaryFileCloser.close = self.tempfile_cleanup # type: ignore[module-attr]
126126
else:
127127
tempfile._TemporaryFileCloser.cleanup = self.tempfile_cleanup # type: ignore[module-attr]
128+
self.tempfile_cleanup = None
128129
# reset the cached tempdir in tempfile
129130
tempfile.tempdir = None
130131

pyfakefs/tests/fake_filesystem_unittest_test.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -639,6 +639,13 @@ def test_pause_resume_without_patcher(self):
639639
with self.assertRaises(RuntimeError):
640640
fs.resume()
641641

642+
def test_that_tempfile_is_patched_after_resume(fs):
643+
"""Regression test for #1098"""
644+
fs.pause()
645+
fs.resume()
646+
with tempfile.NamedTemporaryFile():
647+
pass
648+
642649

643650
class PauseResumePatcherTest(fake_filesystem_unittest.TestCase):
644651
def test_pause_resume(self):

0 commit comments

Comments
 (0)