def test_no_duplicates(self): ies = gen_extractors() for tc in get_testcases(): url = tc['url'] for ie in ies: if type(ie).__name__ in ['GenericIE', tc['name'] + 'IE']: self.assertTrue(ie.suitable(url), '%s should match URL %r' % (type(ie).__name__, url)) else: self.assertFalse(ie.suitable(url), '%s should not match URL %r' % (type(ie).__name__, url))
self.to_stderr = self.to_screen self.processed_info_dicts = [] super(YoutubeDL, self).__init__(*args, **kwargs) def report_warning(self, message): # Don't accept warnings during tests raise ExtractorError(message) def process_info(self, info_dict): self.processed_info_dicts.append(info_dict) return super(YoutubeDL, self).process_info(info_dict) def _file_md5(fn): with open(fn, 'rb') as f: return hashlib.md5(f.read()).hexdigest() from helper import get_testcases defs = get_testcases() with io.open(PARAMETERS_FILE, encoding='utf-8') as pf: parameters = json.load(pf) class TestDownload(unittest.TestCase): maxDiff = None def setUp(self): self.parameters = parameters self.defs = defs ### Dynamically generate tests def generator(test_case): def test_template(self):