aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/test_download.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/test/test_download.py b/test/test_download.py
index 114ff1783..bce0e4fcd 100644
--- a/test/test_download.py
+++ b/test/test_download.py
@@ -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__':