diff options
author | Philipp Hagemeister <phihag@phihag.de> | 2012-11-28 19:03:11 +0100 |
---|---|---|
committer | Philipp Hagemeister <phihag@phihag.de> | 2012-11-28 19:03:11 +0100 |
commit | 81760416054be7dcccc66b14d171872c8e13f183 (patch) | |
tree | a2f947a6719b5756e8f9340916810cbdd2ecc73a /test/gentests.py | |
parent | 6ad98fb3fda767fb8da0d3c40da408ec2a09b5d4 (diff) |
Check during test runtime instead of test generation for _WORKING, and add 2.6 compat
Diffstat (limited to 'test/gentests.py')
-rwxr-xr-x | test/gentests.py | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/test/gentests.py b/test/gentests.py index 8a76ff9f7..da4e3c2f6 100755 --- a/test/gentests.py +++ b/test/gentests.py @@ -46,6 +46,22 @@ def md5_for_file(filename, block_size=2**20): return md5.hexdigest() _file_md5 = md5_for_file + +try: + _skip_unless = unittest.skipUnless +except AttributeError: # Python 2.6 + def _skip_unless(cond, reason='No reason given'): + def resfunc(f): + def wfunc(*args, **kwargs): + if cond: + return f(*args, **kwargs) + else: + print('Skipped test') + return + return wfunc + return resfunc +_skip = lambda *args, **kwargs: _skip_unless(False, *args, **kwargs) + class DownloadTest(unittest.TestCase): PARAMETERS_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), "parameters.json") @@ -78,17 +94,15 @@ def gentests(): name = d['name'] ie = getattr(youtube_dl.InfoExtractors, name + 'IE') testf.write('\n') - if not ie._WORKING: - write('@unittest.skip("IE marked as not _WORKING")') - elif not d['file']: - write('@unittest.skip("No output file specified")') + write('@_skip_unless(youtube_dl.InfoExtractors.' + name + 'IE._WORKING, "IE marked as not _WORKING")') + if not d['file']: + write('@_skip("No output file specified")') elif 'skip' in d: - write('@unittest.skip(' + repr(d['skip']) + ')') + write('@_skip(' + repr(d['skip']) + ')') write('def test_' + name + '(self):') - write(' ' + name + 'IE = youtube_dl.InfoExtractors.' + name + 'IE') write(' filename = ' + repr(d['file'])) write(' fd = FileDownloader(self.parameters)') - write(' fd.add_info_extractor(' + name + 'IE())') + write(' fd.add_info_extractor(youtube_dl.InfoExtractors.' + name + 'IE())') for ien in d.get('addIEs', []): write(' fd.add_info_extractor(youtube_dl.InfoExtractors.' + ien + 'IE())') write(' fd.download([' + repr(d['url']) + '])') |