diff options
author | Philipp Hagemeister <phihag@phihag.de> | 2014-04-19 19:41:06 +0200 |
---|---|---|
committer | Philipp Hagemeister <phihag@phihag.de> | 2014-04-19 19:41:06 +0200 |
commit | 52fadd5fb2ea5d7e7cd6000203aa7ef886ffad07 (patch) | |
tree | 9c8caae3790b3237cf78c40facaeb4dd20d103ca /test | |
parent | 5367fe7f4d8699b711a712598615a815a013fa9c (diff) |
[test_all_urls] Add support for distributed URL matching test definition
Diffstat (limited to 'test')
-rw-r--r-- | test/helper.py | 14 | ||||
-rw-r--r-- | test/test_all_urls.py | 3 |
2 files changed, 12 insertions, 5 deletions
diff --git a/test/helper.py b/test/helper.py index 8739f816c..09873aea3 100644 --- a/test/helper.py +++ b/test/helper.py @@ -74,13 +74,19 @@ class FakeYDL(YoutubeDL): old_report_warning(message) self.report_warning = types.MethodType(report_warning, self) -def gettestcases(): + +def gettestcases(include_onlymatching=False): for ie in youtube_dl.extractor.gen_extractors(): t = getattr(ie, '_TEST', None) if t: - t['name'] = type(ie).__name__[:-len('IE')] - yield t - for t in getattr(ie, '_TESTS', []): + assert not hasattr(ie, '_TESTS'), \ + '%s has _TEST and _TESTS' % type(ie).__name__ + tests = [t] + else: + tests = getattr(ie, '_TESTS', []) + for t in tests: + if not include_onlymatching and getattr(t, 'only_matching', False): + continue t['name'] = type(ie).__name__[:-len('IE')] yield t diff --git a/test/test_all_urls.py b/test/test_all_urls.py index a9c4ed9e3..4b56137ce 100644 --- a/test/test_all_urls.py +++ b/test/test_all_urls.py @@ -106,7 +106,7 @@ class TestAllURLsMatching(unittest.TestCase): def test_no_duplicates(self): ies = gen_extractors() - for tc in gettestcases(): + for tc in gettestcases(include_onlymatching=True): url = tc['url'] for ie in ies: if type(ie).__name__ in ('GenericIE', tc['name'] + 'IE'): @@ -176,5 +176,6 @@ class TestAllURLsMatching(unittest.TestCase): 'https://screen.yahoo.com/smartwatches-latest-wearable-gadgets-163745379-cbs.html', ['Yahoo']) + if __name__ == '__main__': unittest.main() |