You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/app-misc/trash-cli/files/trash-cli-0.21.10.24-fix-un...

118 lines
4.6 KiB

From 196144f90aaeb9d062019db4937dc4a1ec5991aa Mon Sep 17 00:00:00 2001
From: Zoltan Puskas <zoltan@sinustrom.info>
Date: Sat, 4 Dec 2021 11:12:16 -0800
Subject: [PATCH] Fix unit tests not deleting temp directories
Some tests were not deleting temporary directories polluting /tmp. This
patch fixes all locations in the code where this was forgotten.
Additionally we apply a suffix on top of the randomly generated name for
the temp directories (new name example: tmpwl2fvrn9_trash_cli_test)
becasue:
- it has no cost to us or the users
- helps identify temporary directories as belonging to trash-cli tests
- will make similar issues obvious in the future
Bug: GH-218
---
tests/empty/test_empty_end_to_end_interactive.py | 3 +++
tests/empty/test_empty_end_to_end_with_argument.py | 3 +++
tests/put/test_end_to_end_put.py | 3 +++
tests/restore/test_trash_directory.py | 3 ++-
tests/support.py | 2 +-
tests/test_files.py | 1 +
tests/test_filesystem.py | 2 ++
tests/test_trash_put_slow.py | 3 +++
8 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/tests/empty/test_empty_end_to_end_interactive.py b/tests/empty/test_empty_end_to_end_interactive.py
index 80b8f81..14b2867 100644
--- a/tests/empty/test_empty_end_to_end_interactive.py
+++ b/tests/empty/test_empty_end_to_end_interactive.py
@@ -40,3 +40,6 @@ class TestEmptyEndToEndInteractive(unittest.TestCase):
'Would empty the following trash directories:\n'
' - %s\n'
'Proceed? (y/n) ' % self.trash_dir, '', 0]
+
+ def tearDown(self):
+ self.tmp_dir.clean_up()
diff --git a/tests/empty/test_empty_end_to_end_with_argument.py b/tests/empty/test_empty_end_to_end_with_argument.py
index bfa660b..aad10de 100644
--- a/tests/empty/test_empty_end_to_end_with_argument.py
+++ b/tests/empty/test_empty_end_to_end_with_argument.py
@@ -54,3 +54,6 @@ class TestEmptyEndToEndWithArgument(unittest.TestCase):
self.user_run_trash_empty(['2'])
assert list_trash_dir(self.trash_dir) == ['info/foo.trashinfo']
+
+ def tearDown(self):
+ self.tmp_dir.clean_up()
diff --git a/tests/put/test_end_to_end_put.py b/tests/put/test_end_to_end_put.py
index 5b95b57..8af89b8 100644
--- a/tests/put/test_end_to_end_put.py
+++ b/tests/put/test_end_to_end_put.py
@@ -89,3 +89,6 @@ class TestEndToEndPut(unittest.TestCase):
['-f', 'this_file_does_not_exist', 'nor_does_this_file'])
assert [result.stdout, result.stderr, result.exit_code] == ['', '', 0]
+
+ def tearDown(self):
+ self.tmp_dir.clean_up()
diff --git a/tests/restore/test_trash_directory.py b/tests/restore/test_trash_directory.py
index d961f45..5328f98 100644
--- a/tests/restore/test_trash_directory.py
+++ b/tests/restore/test_trash_directory.py
@@ -53,4 +53,5 @@ class TestTrashDirectory(unittest.TestCase):
def list_trashinfos(self):
return list(self.trash_dir.all_info_files(self.temp_dir / 'trash-dir'))
-
+ def tearDown(self):
+ self.temp_dir.clean_up()
diff --git a/tests/support.py b/tests/support.py
index afbb402..d5966d3 100644
--- a/tests/support.py
+++ b/tests/support.py
@@ -34,4 +34,4 @@ class MyPath(str):
@classmethod
def make_temp_dir(cls):
- return cls(os.path.realpath(tempfile.mkdtemp()))
+ return cls(os.path.realpath(tempfile.mkdtemp(suffix="_trash_cli_test")))
diff --git a/tests/test_files.py b/tests/test_files.py
index abe4ae0..487ffd3 100644
--- a/tests/test_files.py
+++ b/tests/test_files.py
@@ -45,3 +45,4 @@ class Test_make_unreadable_dir(unittest.TestCase):
def tearDown(self):
make_readable(self.unreadable_dir)
shutil.rmtree(self.unreadable_dir)
+ self.tmp_dir.clean_up()
diff --git a/tests/test_filesystem.py b/tests/test_filesystem.py
index 2df08b1..b1e9aa6 100644
--- a/tests/test_filesystem.py
+++ b/tests/test_filesystem.py
@@ -64,3 +64,5 @@ class Test_is_sticky_dir(unittest.TestCase):
assert not is_sticky_dir(self.temp_dir / 'dir')
+ def tearDown(self):
+ self.temp_dir.clean_up()
diff --git a/tests/test_trash_put_slow.py b/tests/test_trash_put_slow.py
index e85f699..078c371 100644
--- a/tests/test_trash_put_slow.py
+++ b/tests/test_trash_put_slow.py
@@ -29,6 +29,9 @@ class TrashPutFixture:
self.stderr = result.stderr
self.exit_code = result.exit_code
+ def __del__(self):
+ self.temp_dir.clean_up()
+
@pytest.mark.slow
class TestDeletingExistingFile(unittest.TestCase):
--
2.33.1