diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/test_download.py | 12 | 
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__':  | 
