|
|
|
@ -49,13 +49,14 @@ class TestDownload(unittest.TestCase):
|
|
|
|
|
self.tearDown()
|
|
|
|
|
|
|
|
|
|
def tearDown(self):
|
|
|
|
|
for test in self.defs:
|
|
|
|
|
fn = test['file']
|
|
|
|
|
for fn in [ test.get('file', False) for test in self.defs ]:
|
|
|
|
|
if fn and os.path.exists(fn):
|
|
|
|
|
os.remove(fn)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def make_test_method(test_case):
|
|
|
|
|
### Dinamically generate tests
|
|
|
|
|
def generator(test_case):
|
|
|
|
|
|
|
|
|
|
def test_template(self):
|
|
|
|
|
ie = getattr(youtube_dl.InfoExtractors, test_case['name'] + 'IE')
|
|
|
|
|
if not ie._WORKING:
|
|
|
|
@ -80,13 +81,14 @@ def make_test_method(test_case):
|
|
|
|
|
md5_for_file = _file_md5(test_case['file'])
|
|
|
|
|
self.assertEqual(md5_for_file, test_case['md5'])
|
|
|
|
|
|
|
|
|
|
# TODO proper skipping annotations
|
|
|
|
|
return test_template
|
|
|
|
|
|
|
|
|
|
### And add them to TestDownload
|
|
|
|
|
for test_case in defs:
|
|
|
|
|
test_method = make_test_method(test_case)
|
|
|
|
|
test_method = generator(test_case)
|
|
|
|
|
test_method.__name__ = "test_{0}".format(test_case["name"])
|
|
|
|
|
setattr(TestDownload, test_method.__name__, test_method)
|
|
|
|
|
del test_method
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
|