summaryrefslogtreecommitdiffstats
path: root/test/test_results.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_results.py')
-rw-r--r--test/test_results.py52
1 files changed, 27 insertions, 25 deletions
diff --git a/test/test_results.py b/test/test_results.py
index ab3668e..e2c7ca2 100644
--- a/test/test_results.py
+++ b/test/test_results.py
@@ -20,7 +20,13 @@ import collections
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from gallery_dl import \
extractor, util, job, config, exception, formatter # noqa E402
-from test import results # noqa E402
+
+
+RESULTS = os.environ.get("GDL_TEST_RESULTS")
+if RESULTS:
+ results = util.import_file(RESULTS)
+else:
+ from test import results
# temporary issues, etc.
@@ -86,38 +92,34 @@ class TestExtractorResults(unittest.TestCase):
def _run_test(self, result):
result.pop("#comment", None)
- only_matching = (len(result) <= 3)
+ auth = result.pop("#auth", None)
+
+ extractor.find(result["#url"])
+ extr = result["#class"].from_url(result["#url"])
+ if not extr:
+ raise exception.NoExtractorError()
+ if len(result) <= 3:
+ return # only matching
- auth = result.get("#auth")
if auth is None:
auth = (result["#category"][1] in AUTH)
elif not auth:
+ # auth explicitly disabled
for key in AUTH_CONFIG:
config.set((), key, None)
- if auth:
- extr = result["#class"].from_url(result["#url"])
- if not any(extr.config(key) for key in AUTH_CONFIG):
- self._skipped.append((result["#url"], "no auth"))
- only_matching = True
+ if auth and not any(extr.config(key) for key in AUTH_CONFIG):
+ return self._skipped.append((result["#url"], "no auth"))
- if only_matching:
- content = False
- else:
- if "#options" in result:
- for key, value in result["#options"].items():
- key = key.split(".")
- config.set(key[:-1], key[-1], value)
- if "#range" in result:
- config.set((), "image-range" , result["#range"])
- config.set((), "chapter-range", result["#range"])
- content = ("#sha1_content" in result)
-
- tjob = ResultJob(result["#url"], content=content)
- self.assertEqual(result["#class"], tjob.extractor.__class__, "#class")
-
- if only_matching:
- return
+ if "#options" in result:
+ for key, value in result["#options"].items():
+ key = key.split(".")
+ config.set(key[:-1], key[-1], value)
+ if "#range" in result:
+ config.set((), "image-range" , result["#range"])
+ config.set((), "chapter-range", result["#range"])
+
+ tjob = ResultJob(extr, content=("#sha1_content" in result))
if "#exception" in result:
with self.assertRaises(result["#exception"], msg="#exception"):