@ -65,6 +65,10 @@ defs = gettestcases()
class TestDownload ( unittest . TestCase ) :
# Parallel testing in nosetests. See
# http://nose.readthedocs.org/en/latest/doc_tests/test_multiprocess/multiprocess.html
_multiprocess_shared_ = True
maxDiff = None
def setUp ( self ) :
@ -73,7 +77,7 @@ class TestDownload(unittest.TestCase):
# Dynamically generate tests
def generator ( test_case ):
def generator ( test_case , tname ):
def test_template ( self ) :
ie = youtube_dl . extractor . get_info_extractor ( test_case [ ' name ' ] )
@ -102,6 +106,7 @@ def generator(test_case):
return
params = get_params ( test_case . get ( ' params ' , { } ) )
params [ ' outtmpl ' ] = tname + ' _ ' + params [ ' outtmpl ' ]
if is_playlist and ' playlist ' not in test_case :
params . setdefault ( ' extract_flat ' , ' in_playlist ' )
params . setdefault ( ' skip_download ' , True )
@ -146,7 +151,7 @@ def generator(test_case):
raise
if try_num == RETRIES :
report_warning ( ' F ailed due to network errors, skipping...' )
report_warning ( ' %s f ailed due to network errors, skipping...' % tname )
return
print ( ' Retrying: {0} failed tries \n \n ########## \n \n ' . format ( try_num ) )
@ -221,12 +226,12 @@ def generator(test_case):
# And add them to TestDownload
for n , test_case in enumerate ( defs ) :
test_method = generator ( test_case )
tname = ' test_ ' + str ( test_case [ ' name ' ] )
i = 1
while hasattr ( TestDownload , tname ) :
tname = ' test_ %s _ %d ' % ( test_case [ ' name ' ] , i )
i + = 1
test_method = generator ( test_case , tname )
test_method . __name__ = str ( tname )
setattr ( TestDownload , test_method . __name__ , test_method )
del test_method