diff options
author | Ryan de Kleer <thinking.as.a.hobby@gmail.com> | 2022-09-15 16:26:15 -0700 |
---|---|---|
committer | Ryan de Kleer <thinking.as.a.hobby@gmail.com> | 2022-09-16 22:59:54 -0700 |
commit | 27f2c678cbf2e07371a7161fcd8cf0cade22bddc (patch) | |
tree | d27f1bdf30720dd39d8546b9db36056b1b5bcc37 | |
parent | 2a7e691000db4b69b1b4c960141f7c00eff5f06d (diff) | |
download | pelican-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.py | 14 |
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('') |