summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan de Kleer <thinking.as.a.hobby@gmail.com>2022-09-15 16:26:15 -0700
committerRyan de Kleer <thinking.as.a.hobby@gmail.com>2022-09-16 22:59:54 -0700
commit27f2c678cbf2e07371a7161fcd8cf0cade22bddc (patch)
treed27f1bdf30720dd39d8546b9db36056b1b5bcc37
parent2a7e691000db4b69b1b4c960141f7c00eff5f06d (diff)
downloadpelican-27f2c678cbf2e07371a7161fcd8cf0cade22bddc.tar.gz
Use tmp dir for test output
`shutil.rmtree` would fail in `TestUtils.test_clean_output_dir` on some filesystems if an application with a filewatcher had the pelican project open while the test ran. Using `tempfile.mkdtmp` for test directories circumvents this.
-rw-r--r--pelican/tests/test_utils.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/pelican/tests/test_utils.py b/pelican/tests/test_utils.py
index ee5146df..449a6814 100644
--- a/pelican/tests/test_utils.py
+++ b/pelican/tests/test_utils.py
@@ -20,6 +20,14 @@ from pelican.writers import Writer
class TestUtils(LoggedTestCase):
_new_attribute = 'new_value'
+ def setUp(self):
+ super().setUp()
+ self.temp_output = mkdtemp(prefix='pelicantests.')
+
+ def tearDown(self):
+ super().tearDown()
+ shutil.rmtree(self.temp_output)
+
@utils.deprecated_attribute(
old='_old_attribute', new='_new_attribute',
since=(3, 1, 0), remove=(4, 1, 3))
@@ -468,7 +476,7 @@ class TestUtils(LoggedTestCase):
def test_clean_output_dir(self):
retention = ()
- test_directory = os.path.join(os.path.dirname(__file__),
+ test_directory = os.path.join(self.temp_output,
'clean_output')
content = os.path.join(os.path.dirname(__file__), 'content')
shutil.copytree(content, test_directory)
@@ -479,14 +487,14 @@ class TestUtils(LoggedTestCase):
def test_clean_output_dir_not_there(self):
retention = ()
- test_directory = os.path.join(os.path.dirname(__file__),
+ test_directory = os.path.join(self.temp_output,
'does_not_exist')
utils.clean_output_dir(test_directory, retention)
self.assertFalse(os.path.exists(test_directory))
def test_clean_output_dir_is_file(self):
retention = ()
- test_directory = os.path.join(os.path.dirname(__file__),
+ test_directory = os.path.join(self.temp_output,
'this_is_a_file')
f = open(test_directory, 'w')
f.write('')