From 356509120b8d740b7fd3a9832b8b44e78f7ab700 Mon Sep 17 00:00:00 2001 From: Andrew Senetar Date: Wed, 17 Mar 2021 20:52:16 -0500 Subject: [PATCH] Add some checks to catch test failure Really just checking that the setup is able to create test files so it is known they were there then removed. Windows tests really need verification of recycle, which is not present. --- tests/test_plat_other.py | 4 ++++ tests/test_plat_win.py | 11 +++++++++-- tests/test_script_main.py | 2 ++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/tests/test_plat_other.py b/tests/test_plat_other.py index f68b3b0..b1a60d8 100644 --- a/tests/test_plat_other.py +++ b/tests/test_plat_other.py @@ -32,6 +32,7 @@ def testfile(): dir=op.expanduser("~"), prefix="send2trash_test", delete=False ) file.close() + assert op.exists(file) is True yield file # Cleanup trash files on supported platforms if sys.platform != "win32": @@ -57,6 +58,7 @@ def testfiles(): ) ) [file.close() for file in files] + assert all([op.exists(file) for file in files]) is True yield files filenames = [op.basename(file.name) for file in files] [os.remove(op.join(HOMETRASH, "files", filename)) for filename in filenames] @@ -93,6 +95,7 @@ def testUnicodefile(): name = u"send2trash_tést1" file = op.join(op.expanduser(b"~"), name.encode("utf-8")) touch(file) + assert op.exists(file) is True yield file # Cleanup trash files on supported platforms if sys.platform != "win32": @@ -158,6 +161,7 @@ def testExtVol(): fileName = "test.txt" filePath = op.join(volume.trashTopdir, fileName) touch(filePath) + assert op.exists(filePath) is True yield volume, fileName, filePath volume.cleanup() diff --git a/tests/test_plat_win.py b/tests/test_plat_win.py index 4ff7782..bd5b716 100644 --- a/tests/test_plat_win.py +++ b/tests/test_plat_win.py @@ -26,6 +26,7 @@ def _create_tree(path): @pytest.fixture def testdir(tmp_path): dirname = "\\\\?\\" + str(tmp_path) + assert op.exists(dirname) is True yield dirname shutil.rmtree(dirname, ignore_errors=True) @@ -34,6 +35,7 @@ def testdir(tmp_path): def testfile(testdir): file = op.join(testdir, "testfile.txt") _create_tree(file) + assert op.exists(file) is True yield file # Note dir will cleanup the file @@ -42,6 +44,7 @@ def testfile(testdir): def testfiles(testdir): files = [op.join(testdir, "testfile{}.txt".format(index)) for index in range(10)] [_create_tree(file) for file in files] + assert all([op.exists(file) for file in files]) is True yield files # Note dir will cleanup the files @@ -148,6 +151,7 @@ def longfile(longdir): path = op.join(longdir, name + "{}.txt") file = path.format("") _create_tree(file) + assert op.exists(file) is True yield file @@ -157,11 +161,14 @@ def longfiles(longdir): path = op.join(longdir, name + "{}.txt") files = [path.format(index) for index in range(10)] [_create_tree(file) for file in files] + assert all([op.exists(file) for file in files]) is True yield files -# NOTE: both legacy and modern test "pass" on windows, but actually are not moving files to the -# recycle bin, this was tested on latest windows 10, thought to have worked previously +# NOTE: both legacy and modern test "pass" on windows, however sometimes with the same path +# they do not actually recycle files but delete them. Noticed this when testing with the +# recycle bin open, noticed later tests actually worked, modern version can actually detect +# when this happens but not stop it at this moment, and we need a way to verify it when testing. def test_trash_long_file_modern(longfile): _trash_file(longfile, s2t_modern) diff --git a/tests/test_script_main.py b/tests/test_script_main.py index 33e57fa..22ac9c2 100644 --- a/tests/test_script_main.py +++ b/tests/test_script_main.py @@ -18,6 +18,8 @@ def file(): dir=op.expanduser("~"), prefix="send2trash_test", delete=False ) file.close() + # Verify file was actually created + assert op.exists(file.name) is True yield file.name # Cleanup trash files on supported platforms if sys.platform != "win32":