aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKurt McKee <contactme@kurtmckee.org>2024-05-02 08:42:22 -0500
committermrbean-bremen <mrbean-bremen@users.noreply.github.com>2024-05-02 15:57:12 +0200
commitd11b848ad7921d88f20232f59aaeb87e5f3a5705 (patch)
tree1d5330fae7b05f47a9e0f96ef79b8145c76ab229
parentf9c8d250d7216d5725bec47aa6042daa266a3a89 (diff)
downloadpyfakefs-upstream-main.tar.gz
Improve isolation of test suite executionsupstream-main
Fixes #1009
-rw-r--r--pyfakefs/tests/fake_filesystem_test.py51
1 files changed, 22 insertions, 29 deletions
diff --git a/pyfakefs/tests/fake_filesystem_test.py b/pyfakefs/tests/fake_filesystem_test.py
index 8af7848..1588208 100644
--- a/pyfakefs/tests/fake_filesystem_test.py
+++ b/pyfakefs/tests/fake_filesystem_test.py
@@ -2050,7 +2050,8 @@ class RealFileSystemAccessTest(RealFsTestCase):
@contextlib.contextmanager
def create_real_paths(self):
- real_dir_root = os.path.join(tempfile.gettempdir(), "root")
+ temp_directory = tempfile.mkdtemp()
+ real_dir_root = os.path.join(temp_directory, "root")
try:
for dir_name in ("foo", "bar"):
real_dir = os.path.join(real_dir_root, dir_name)
@@ -2065,7 +2066,7 @@ class RealFileSystemAccessTest(RealFsTestCase):
f.write("sub")
yield real_dir_root
finally:
- shutil.rmtree(real_dir_root, ignore_errors=True)
+ shutil.rmtree(temp_directory, ignore_errors=True)
def test_existing_fake_directory_is_merged_lazily(self):
self.filesystem.create_file(os.path.join("/", "root", "foo", "test1.txt"))
@@ -2262,9 +2263,17 @@ class RealFileSystemAccessTest(RealFsTestCase):
for link in symlinks:
os.unlink(link[1])
+ @staticmethod
+ def _setup_temp_directory():
+ real_directory = tempfile.mkdtemp()
+ os.mkdir(os.path.join(real_directory, "fixtures"))
+ with open(os.path.join(real_directory, "all_tests.py"), "w"):
+ pass
+ return real_directory
+
def test_add_existing_real_directory_symlink(self):
fake_open = fake_filesystem.FakeFileOpen(self.filesystem)
- real_directory = os.path.join(self.root_path, "pyfakefs", "tests")
+ real_directory = self._setup_temp_directory()
symlinks = [
(
"..",
@@ -2310,9 +2319,7 @@ class RealFileSystemAccessTest(RealFsTestCase):
self.assertTrue(
self.filesystem.exists(
os.path.join(
- self.root_path,
- "pyfakefs",
- "tests",
+ real_directory,
"fixtures/symlink_dir_relative",
)
)
@@ -2320,9 +2327,7 @@ class RealFileSystemAccessTest(RealFsTestCase):
self.assertTrue(
self.filesystem.exists(
os.path.join(
- self.root_path,
- "pyfakefs",
- "tests",
+ real_directory,
"fixtures/symlink_dir_relative/all_tests.py",
)
)
@@ -2330,9 +2335,7 @@ class RealFileSystemAccessTest(RealFsTestCase):
self.assertTrue(
self.filesystem.exists(
os.path.join(
- self.root_path,
- "pyfakefs",
- "tests",
+ real_directory,
"fixtures/symlink_file_relative",
)
)
@@ -2342,9 +2345,7 @@ class RealFileSystemAccessTest(RealFsTestCase):
self.assertTrue(
self.filesystem.exists(
os.path.join(
- self.root_path,
- "pyfakefs",
- "tests",
+ real_directory,
"fixtures/symlink_dir_absolute",
)
)
@@ -2352,9 +2353,7 @@ class RealFileSystemAccessTest(RealFsTestCase):
self.assertTrue(
self.filesystem.exists(
os.path.join(
- self.root_path,
- "pyfakefs",
- "tests",
+ real_directory,
"fixtures/symlink_dir_absolute/all_tests.py",
)
)
@@ -2362,9 +2361,7 @@ class RealFileSystemAccessTest(RealFsTestCase):
self.assertTrue(
self.filesystem.exists(
os.path.join(
- self.root_path,
- "pyfakefs",
- "tests",
+ real_directory,
"fixtures/symlink_file_absolute",
)
)
@@ -2374,9 +2371,7 @@ class RealFileSystemAccessTest(RealFsTestCase):
self.assertTrue(
self.filesystem.exists(
os.path.join(
- self.root_path,
- "pyfakefs",
- "tests",
+ real_directory,
"fixtures/symlink_file_absolute_outside",
)
)
@@ -2384,9 +2379,7 @@ class RealFileSystemAccessTest(RealFsTestCase):
self.assertEqual(
fake_open(
os.path.join(
- self.root_path,
- "pyfakefs",
- "tests",
+ real_directory,
"fixtures/symlink_file_absolute_outside",
),
encoding="utf8",
@@ -2396,7 +2389,7 @@ class RealFileSystemAccessTest(RealFsTestCase):
def test_add_existing_real_directory_symlink_target_path(self):
self.skip_if_symlink_not_supported(force_real_fs=True)
- real_directory = os.path.join(self.root_path, "pyfakefs", "tests")
+ real_directory = self._setup_temp_directory()
symlinks = [
(
"..",
@@ -2421,7 +2414,7 @@ class RealFileSystemAccessTest(RealFsTestCase):
def test_add_existing_real_directory_symlink_lazy_read(self):
self.skip_if_symlink_not_supported(force_real_fs=True)
- real_directory = os.path.join(self.root_path, "pyfakefs", "tests")
+ real_directory = self._setup_temp_directory()
symlinks = [
(
"..",