aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/test_downloader.py6
-rw-r--r--test/test_extractor.py2
-rw-r--r--test/test_results.py24
3 files changed, 23 insertions, 9 deletions
diff --git a/test/test_downloader.py b/test/test_downloader.py
index 840e078..f10465e 100644
--- a/test/test_downloader.py
+++ b/test/test_downloader.py
@@ -214,7 +214,8 @@ class TestHTTPDownloader(TestDownloaderBase):
self.downloader.minsize = 100
with self.assertLogs(self.downloader.log, "WARNING"):
success = self.downloader.download(url, pathfmt)
- self.assertFalse(success)
+ self.assertTrue(success)
+ self.assertEqual(pathfmt.temppath, "")
def test_http_filesize_max(self):
url = self.address + "/jpg"
@@ -222,7 +223,8 @@ class TestHTTPDownloader(TestDownloaderBase):
self.downloader.maxsize = 100
with self.assertLogs(self.downloader.log, "WARNING"):
success = self.downloader.download(url, pathfmt)
- self.assertFalse(success)
+ self.assertTrue(success)
+ self.assertEqual(pathfmt.temppath, "")
class TestTextDownloader(TestDownloaderBase):
diff --git a/test/test_extractor.py b/test/test_extractor.py
index 29ccf97..d2dd643 100644
--- a/test/test_extractor.py
+++ b/test/test_extractor.py
@@ -142,6 +142,8 @@ class TestExtractorModule(unittest.TestCase):
if cls.category == "ytdl":
continue
extr = cls.from_url(cls.example)
+ if not extr and cls.basecategory and not cls.instances:
+ continue
extr.initialize()
extr.finalize()
diff --git a/test/test_results.py b/test/test_results.py
index f275bbf..c7a5001 100644
--- a/test/test_results.py
+++ b/test/test_results.py
@@ -192,22 +192,22 @@ class TestExtractorResults(unittest.TestCase):
subtest = True
self._test_kwdict(value[idx], item)
if not subtest:
- self.assertEqual(value, test, msg=key)
+ self.assertEqual(test, value, msg=key)
elif isinstance(test, str):
if test.startswith("re:"):
self.assertRegex(value, test[3:], msg=key)
elif test.startswith("dt:"):
self.assertIsInstance(value, datetime.datetime, msg=key)
- self.assertEqual(str(value), test[3:], msg=key)
+ self.assertEqual(test[3:], str(value), msg=key)
elif test.startswith("type:"):
- self.assertEqual(type(value).__name__, test[5:], msg=key)
+ self.assertEqual(test[5:], type(value).__name__, msg=key)
elif test.startswith("len:"):
self.assertIsInstance(value, (list, tuple), msg=key)
- self.assertEqual(len(value), int(test[4:]), msg=key)
+ self.assertEqual(int(test[4:]), len(value), msg=key)
else:
- self.assertEqual(value, test, msg=key)
+ self.assertEqual(test, value, msg=key)
else:
- self.assertEqual(value, test, msg=key)
+ self.assertEqual(test, value, msg=key)
class ResultJob(job.DownloadJob):
@@ -405,7 +405,17 @@ def generate_tests():
def _generate_method(result):
def test(self):
print("\n" + result["#url"])
- self._run_test(result)
+ try:
+ self._run_test(result)
+ except KeyboardInterrupt as exc:
+ v = input("\n[e]xit | [f]ail | [S]kip ? ").strip().lower()
+ if v in ("e", "exit"):
+ raise
+ if v in ("f", "fail"):
+ self.fail("manual test failure")
+ else:
+ self._skipped.append((result["#url"], exc))
+ self.skipTest(exc)
return test
# enable selective testing for direct calls