Move testcase generator to helper
[youtube-dl] / test / test_download.py
index 9af626dca0cfd5498aea48aef8825e740a87082a..db43e99620a140cb09e760f9b4e37542f4deb81b 100644 (file)
@@ -17,7 +17,6 @@ import youtube_dl.YoutubeDL
 import youtube_dl.extractor
 from youtube_dl.utils import *
 
-DEF_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'tests.json')
 PARAMETERS_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), "parameters.json")
 
 RETRIES = 3
@@ -56,8 +55,9 @@ def _file_md5(fn):
     with open(fn, 'rb') as f:
         return hashlib.md5(f.read()).hexdigest()
 
-with io.open(DEF_FILE, encoding='utf-8') as deff:
-    defs = json.load(deff)
+from helper import get_testcases
+defs = get_testcases()
+
 with io.open(PARAMETERS_FILE, encoding='utf-8') as pf:
     parameters = json.load(pf)
 
@@ -153,9 +153,14 @@ def generator(test_case):
     return test_template
 
 ### And add them to TestDownload
-for test_case in defs:
+for n, test_case in enumerate(defs):
     test_method = generator(test_case)
-    test_method.__name__ = "test_{0}".format(test_case["name"])
+    tname = 'test_' + str(test_case['name'])
+    i = 1
+    while hasattr(TestDownload, tname):
+        tname = 'test_'  + str(test_case['name']) + '_' + str(i)
+        i += 1
+    test_method.__name__ = tname
     setattr(TestDownload, test_method.__name__, test_method)
     del test_method