diff options
Diffstat (limited to 'app-misc/trash-cli')
-rw-r--r-- | app-misc/trash-cli/Manifest | 8 | ||||
-rw-r--r-- | app-misc/trash-cli/files/trash-cli-0.21.10.24-fix-lint-in-tests.patch | 99 | ||||
-rw-r--r-- | app-misc/trash-cli/files/trash-cli-0.21.10.24-fix-lint-in-trash-cli.patch | 26 | ||||
-rw-r--r-- | app-misc/trash-cli/files/trash-cli-0.21.10.24-fix-unit-test-test_trash_empty_will_skip_unreadable.patch | 66 | ||||
-rw-r--r-- | app-misc/trash-cli/files/trash-cli-0.21.10.24-fix-unit-tests-not-deleting-temp-directories.patch | 117 | ||||
-rw-r--r-- | app-misc/trash-cli/trash-cli-0.21.10.24.ebuild (renamed from app-misc/trash-cli/trash-cli-0.21.5.25.ebuild) | 14 |
6 files changed, 327 insertions, 3 deletions
diff --git a/app-misc/trash-cli/Manifest b/app-misc/trash-cli/Manifest index 1f0392b5a633..0bd0f6107f6c 100644 --- a/app-misc/trash-cli/Manifest +++ b/app-misc/trash-cli/Manifest @@ -1,5 +1,9 @@ +AUX trash-cli-0.21.10.24-fix-lint-in-tests.patch 3269 BLAKE2B 8262d9d56efdd0f2bb634f436f3577c22e4a749cca8bc104c23cba6a09430921ad0bdc99711ef7e00ee92a24c1686c94f65ccc6a36a8e077e3a63d9000e2f563 SHA512 82225acbc45b6e26006a52e8fad20f94f6031a135d993facc537afa4fe9089cee49cbacf9fc002f57adfae5da2210ea19dfbd58eb395235af493a23014d6b5d6 +AUX trash-cli-0.21.10.24-fix-lint-in-trash-cli.patch 864 BLAKE2B 4acf3d0cbf03d464d326b1748ad8172bc05feb1cf35dfa24386f3e1e1bda3d2769859e66d366b63f16be64c5daa238a12e77d980b7be68da1b030da63f193e91 SHA512 8948f517460e9ff0a4f3faa26fcfb3ff3d106d1d19880d6e40648f8ccec0241b987ea64a64d9dcc038e184bc73ade77c5f465cf6a9223e75c848368a024ecc41 +AUX trash-cli-0.21.10.24-fix-unit-test-test_trash_empty_will_skip_unreadable.patch 2305 BLAKE2B 435aa364c75bb1173408b830a74fdb9f0b8115e89623e5c223df07574c1279c31e4307a68da5932bd5dc7bd31b34a33bb1ae86aeb25340670f4f13a35fb18163 SHA512 9d782064d0ccd35ece3b4eec9101654befd6f870f9668ca8e80c6b0dec3c78adeec1866dad2832d0d25870466affe02fdd8eac53cc518f7bec596a10a976654f +AUX trash-cli-0.21.10.24-fix-unit-tests-not-deleting-temp-directories.patch 4668 BLAKE2B 8f742be79360b6a01637d15bc8fe4e7f5d447e52279f16fa59d06435fd7c332e4ff4c7ac1ae35ff993cfc19f677adc256f11bcf488a11b7e5d8a469a3b1f6daf SHA512 6e02b79f67a2c76e6feebc8632dfb59e110561b777a687d0e1cda66ba60653717485f09800cd894e76c79fa1b8fb89a786bfdb7d4c77ec4552401bf23a1cf4da DIST trash-cli-0.20.12.26.tar.gz 74542 BLAKE2B 558e3cc043cdaef44bf68317e666c6f757daf9feeb6b731a57aba91ec983e1adb1e404f7e8428a7bd1225d83df6e94e8b9b793942bbb233f09a44127af0a42fa SHA512 d0b0a97014c888ddda95759dc82837385a2809cae04bdf6a84dcf0233dc2cf9370253110bc5fdbc5c4452ebb65c5e7836fe1cfaa9aaabe38d34269724456cd1c -DIST trash-cli-0.21.5.25.tar.gz 77067 BLAKE2B 5db46b21ba33b9076ea7f024b93e62f30b3671f44a024b30013369607bd580f0ef9831debd9fdc6c64575ab6edde14aa921229bbd16a6a77657b7ed20b58c318 SHA512 75ef338b356048768febc4afd42933d8aa44cde5156e386968dad7b33033b84becaef3d39ccf15c02216394735f37d1c7c8cd499000068d51247710e87590507 +DIST trash-cli-0.21.10.24.tar.gz 78085 BLAKE2B 6d8f82695a94e45efd4316eb9f1a8c8f5d348774fc10cd4e5323d8dad15897f827acf343e2c1a15e1cef4eecb2ed76ab456345e359319c82bfde9b95f68f7b77 SHA512 1bf258cea7658a3968beec939d09ae088eac8898a9812e8a3aca587df7f2ad20c66f766995f8c893e4d84d0ea7db94ebb4ca7eb24982af81fa4179cc9e239fd1 EBUILD trash-cli-0.20.12.26-r1.ebuild 598 BLAKE2B 1fe9975c5b1f7a8646cea9f25c487ab4b84095c4a010d80ec8bc21dc77cf283ad726d09ee0c13227cbd145aeeae25d2444f6ec0e7510c3c8356992809eb6604c SHA512 8449369b777c9460106660ce57929a67eefb1a3f3e247f020070c5b863340c48c2b79f825eff77a783fb5a44a3a3f0a883c963af22de0319427d9c22ead88c3a -EBUILD trash-cli-0.21.5.25.ebuild 574 BLAKE2B 31409aa4cdf69f1daa528f34c997bfff42ee0b049cbad6c7fa46b15f23aadf8fbfc564ff35f44e9237c861841b3c802bdfe05e2b38c5b6edd62589cc3af2ed01 SHA512 867ab0e00dcac1d6d8d1471772b74e4527a958f0b38d9e272cb080ca2875ee1830adba534f6bd860d1e0e298c0ba6d7b160f54e540ac46d7992e60d9bb7104cf +EBUILD trash-cli-0.21.10.24.ebuild 891 BLAKE2B 095f345f847ee9a740519a93c4e14e26fd47d1da269e8a14e6679694df8e23cd63e4e6c6850dcb9e805b982148229b50e5c4708d3c355c42be831e2913f7e2d9 SHA512 66df60e62620a1f9918aa0d09f7d364e6c81618853c17383c13c0c3c8791937fdef1a9da1e589880e988680641f357684eb5369f6ed9c8f250baddb3656ba141 MISC metadata.xml 1095 BLAKE2B 47ecff4dfa92c0750b4743988d715e828ce8a8d07140df5eec50ad41f0f1aae22efcdf7c7f743c5f6a58c572da9faa8fae4017fde65909e1f8e2ea3b4750b40e SHA512 b935e7c812982d7aabc6cbbcf39ae62404f04f2c8e6055adfdb710bf9502da907b61806425d270b87c14206e7e4caf3e3baea6ab8f86f0b16b9cf3171954b652 diff --git a/app-misc/trash-cli/files/trash-cli-0.21.10.24-fix-lint-in-tests.patch b/app-misc/trash-cli/files/trash-cli-0.21.10.24-fix-lint-in-tests.patch new file mode 100644 index 000000000000..8f7cfe3babf1 --- /dev/null +++ b/app-misc/trash-cli/files/trash-cli-0.21.10.24-fix-lint-in-tests.patch @@ -0,0 +1,99 @@ +From e467ae01869e853f83ebad4ef5514c5831283866 Mon Sep 17 00:00:00 2001 +From: Zoltan Puskas <zoltan@sinustrom.info> +Date: Sat, 4 Dec 2021 13:16:48 -0800 +Subject: [PATCH 1/2] Fix lint in tests + +Running pyflakes on the code has shown several lint errors. This diff +fixes them for the unit test files. + +Additionally myStringIO.py has been removed in favour of using six's +StringIO for consistency with other tests. +--- + tests/empty/test_empty_end_to_end_interactive.py | 2 +- + tests/myStringIO.py | 4 ---- + tests/put/test_file_trasher.py | 2 +- + tests/put/test_home_fallback.py | 2 +- + tests/test_restore_cmd.py | 2 +- + tests/test_trash_rm.py | 4 +--- + 6 files changed, 5 insertions(+), 11 deletions(-) + delete mode 100644 tests/myStringIO.py + +diff --git a/tests/empty/test_empty_end_to_end_interactive.py b/tests/empty/test_empty_end_to_end_interactive.py +index 80b8f81..64f20d6 100644 +--- a/tests/empty/test_empty_end_to_end_interactive.py ++++ b/tests/empty/test_empty_end_to_end_interactive.py +@@ -4,7 +4,7 @@ import unittest + import pytest + + from ..fake_trash_dir import FakeTrashDir +-from ..support import MyPath, list_trash_dir ++from ..support import MyPath + from .. import run_command + + +diff --git a/tests/myStringIO.py b/tests/myStringIO.py +deleted file mode 100644 +index 40a6c72..0000000 +--- a/tests/myStringIO.py ++++ /dev/null +@@ -1,4 +0,0 @@ +-try: +- from StringIO import StringIO +-except ImportError: +- from io import StringIO +diff --git a/tests/put/test_file_trasher.py b/tests/put/test_file_trasher.py +index 32e8019..37fb9db 100644 +--- a/tests/put/test_file_trasher.py ++++ b/tests/put/test_file_trasher.py +@@ -3,7 +3,7 @@ import unittest + from mock import Mock + from datetime import datetime + +-from trashcli.put import TrashResult, Trasher, FileTrasher ++from trashcli.put import TrashResult, FileTrasher + import os + + +diff --git a/tests/put/test_home_fallback.py b/tests/put/test_home_fallback.py +index 07d40a2..38b7fb4 100644 +--- a/tests/put/test_home_fallback.py ++++ b/tests/put/test_home_fallback.py +@@ -3,7 +3,7 @@ import unittest + from mock import Mock, call, ANY + + from trashcli.fstab import create_fake_volume_of +-from trashcli.put import TrashResult, Trasher, TrashDirectoriesFinder, FileTrasher ++from trashcli.put import TrashResult, TrashDirectoriesFinder, FileTrasher + from datetime import datetime + import os + +diff --git a/tests/test_restore_cmd.py b/tests/test_restore_cmd.py +index b1cda13..63c017d 100644 +--- a/tests/test_restore_cmd.py ++++ b/tests/test_restore_cmd.py +@@ -3,7 +3,7 @@ import unittest + from trashcli.list_mount_points import os_mount_points + from trashcli.restore import RestoreCmd, make_trash_directories, \ + TrashDirectory, TrashedFiles, Command +-from .myStringIO import StringIO ++from six import StringIO + from mock import call + from trashcli import restore + import datetime +diff --git a/tests/test_trash_rm.py b/tests/test_trash_rm.py +index e11935e..ec7e7e6 100644 +--- a/tests/test_trash_rm.py ++++ b/tests/test_trash_rm.py +@@ -1,8 +1,6 @@ + import unittest + +-import six +- +-from mock import Mock, call ++from mock import Mock + + from trashcli.rm import Filter + from six import StringIO +-- +2.33.1 + diff --git a/app-misc/trash-cli/files/trash-cli-0.21.10.24-fix-lint-in-trash-cli.patch b/app-misc/trash-cli/files/trash-cli-0.21.10.24-fix-lint-in-trash-cli.patch new file mode 100644 index 000000000000..b69e6deb84c1 --- /dev/null +++ b/app-misc/trash-cli/files/trash-cli-0.21.10.24-fix-lint-in-trash-cli.patch @@ -0,0 +1,26 @@ +From 00d10cff555c79a0ac11f7a298a892176830c353 Mon Sep 17 00:00:00 2001 +From: Zoltan Puskas <zoltan@sinustrom.info> +Date: Sat, 4 Dec 2021 13:27:23 -0800 +Subject: [PATCH 2/2] Fix lint in trash-cli + +Fix the import redefinition issue in list.py detected by pyflakes +--- + trashcli/list.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/trashcli/list.py b/trashcli/list.py +index 09f30de..725b5ce 100644 +--- a/trashcli/list.py ++++ b/trashcli/list.py +@@ -4,7 +4,7 @@ import os + + from . import fstab + from .fs import FileSystemReader, file_size +-from .fstab import volume_of, VolumesListing ++from .fstab import VolumesListing + from .trash import (version, TrashDirReader, path_of_backup_copy, print_version, + maybe_parse_deletion_date, trash_dir_found, + trash_dir_skipped_because_parent_is_symlink, +-- +2.33.1 + diff --git a/app-misc/trash-cli/files/trash-cli-0.21.10.24-fix-unit-test-test_trash_empty_will_skip_unreadable.patch b/app-misc/trash-cli/files/trash-cli-0.21.10.24-fix-unit-test-test_trash_empty_will_skip_unreadable.patch new file mode 100644 index 000000000000..75bd478f670d --- /dev/null +++ b/app-misc/trash-cli/files/trash-cli-0.21.10.24-fix-unit-test-test_trash_empty_will_skip_unreadable.patch @@ -0,0 +1,66 @@ +From 566dbd8bdde01514c5cf0802d03a9dca918b6e82 Mon Sep 17 00:00:00 2001 +From: Zoltan Puskas <zoltan@sinustrom.info> +Date: Sat, 4 Dec 2021 12:59:37 -0800 +Subject: [PATCH] Fix unit test test_trash_empty_will_skip_unreadable_dir + +This patch fixes two issues with the current test: +- it prevents the test from breaking out of the test environment and + does not try to clean trash directories for all mount points +- it does actually test the "unreadable" directory + +Bug: GH-217 +--- + tests/test_trash_empty.py | 25 +++++++++++++++++-------- + 1 file changed, 17 insertions(+), 8 deletions(-) + +diff --git a/tests/test_trash_empty.py b/tests/test_trash_empty.py +index c7a987d..a2f87e6 100644 +--- a/tests/test_trash_empty.py ++++ b/tests/test_trash_empty.py +@@ -15,26 +15,35 @@ from .support import MyPath + from trashcli.fs import FileSystemReader + from trashcli.fs import FileRemover + +-from trashcli.empty import main as empty +- + + @pytest.mark.slow + class TestTrashEmptyCmd(unittest.TestCase): + def setUp(self): + self.tmp_dir = MyPath.make_temp_dir() + self.unreadable_dir = self.tmp_dir / 'data/Trash/files/unreadable' ++ self.volumes_listing = Mock(spec=VolumesListing) ++ self.volumes_listing.list_volumes.return_value = [self.unreadable_dir] ++ self.err=StringIO() ++ self.empty = EmptyCmd( ++ out=StringIO(), ++ err=self.err, ++ environ={'XDG_DATA_HOME':self.tmp_dir / 'data'}, ++ volumes_listing=self.volumes_listing, ++ now=None, ++ file_reader=FileSystemReader(), ++ getuid=lambda: 123, ++ file_remover=FileRemover(), ++ version=None, ++ volume_of=lambda x: "volume_of %s" % x ++ ) + + def test_trash_empty_will_skip_unreadable_dir(self): +- out = StringIO() +- err = StringIO() +- + make_unreadable_dir(self.unreadable_dir) + +- empty(['trash-empty'], stdout = out, stderr = err, +- environ={'XDG_DATA_HOME':self.tmp_dir / 'data'}) ++ self.empty.run('trash-empty') + + assert ("trash-empty: cannot remove %s\n" % self.unreadable_dir == +- err.getvalue()) ++ self.err.getvalue()) + + def tearDown(self): + make_readable(self.unreadable_dir) +-- +2.33.1 + diff --git a/app-misc/trash-cli/files/trash-cli-0.21.10.24-fix-unit-tests-not-deleting-temp-directories.patch b/app-misc/trash-cli/files/trash-cli-0.21.10.24-fix-unit-tests-not-deleting-temp-directories.patch new file mode 100644 index 000000000000..917f34d50e60 --- /dev/null +++ b/app-misc/trash-cli/files/trash-cli-0.21.10.24-fix-unit-tests-not-deleting-temp-directories.patch @@ -0,0 +1,117 @@ +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 + diff --git a/app-misc/trash-cli/trash-cli-0.21.5.25.ebuild b/app-misc/trash-cli/trash-cli-0.21.10.24.ebuild index de8339c9926f..138286991d1c 100644 --- a/app-misc/trash-cli/trash-cli-0.21.5.25.ebuild +++ b/app-misc/trash-cli/trash-cli-0.21.10.24.ebuild @@ -3,7 +3,7 @@ EAPI=7 -PYTHON_COMPAT=( python3_{7,8,9} ) +PYTHON_COMPAT=( python3_{7,8,9,10} ) inherit distutils-r1 @@ -24,4 +24,16 @@ RDEPEND=" dev-python/psutil[${PYTHON_USEDEP}] " +PATCHES=( + "${FILESDIR}/${P}-fix-lint-in-tests.patch" + "${FILESDIR}/${P}-fix-lint-in-trash-cli.patch" + "${FILESDIR}/${P}-fix-unit-tests-not-deleting-temp-directories.patch" + "${FILESDIR}/${P}-fix-unit-test-test_trash_empty_will_skip_unreadable.patch" +) + distutils_enable_tests pytest + +src_test() { + local -x COLUMNS=80 + distutils-r1_src_test +} |