mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-23 21:26:55 +01:00
[test:download] Support testing with ignore_no_formats_error
This commit is contained in:
parent
e8384376c0
commit
0855702f3f
@ -198,7 +198,10 @@ def expect_info_dict(self, got_dict, expected_dict):
|
|||||||
expect_dict(self, got_dict, expected_dict)
|
expect_dict(self, got_dict, expected_dict)
|
||||||
# Check for the presence of mandatory fields
|
# Check for the presence of mandatory fields
|
||||||
if got_dict.get('_type') not in ('playlist', 'multi_video'):
|
if got_dict.get('_type') not in ('playlist', 'multi_video'):
|
||||||
for key in ('id', 'url', 'title', 'ext'):
|
mandatory_fields = ['id', 'title']
|
||||||
|
if expected_dict.get('ext'):
|
||||||
|
mandatory_fields.extend(('url', 'ext'))
|
||||||
|
for key in mandatory_fields:
|
||||||
self.assertTrue(got_dict.get(key), 'Missing mandatory field %s' % key)
|
self.assertTrue(got_dict.get(key), 'Missing mandatory field %s' % key)
|
||||||
# Check for mandatory fields that are automatically set by YoutubeDL
|
# Check for mandatory fields that are automatically set by YoutubeDL
|
||||||
for key in ['webpage_url', 'extractor', 'extractor_key']:
|
for key in ['webpage_url', 'extractor', 'extractor_key']:
|
||||||
|
@ -108,8 +108,13 @@ def print_skipping(reason):
|
|||||||
|
|
||||||
for tc in test_cases:
|
for tc in test_cases:
|
||||||
info_dict = tc.get('info_dict', {})
|
info_dict = tc.get('info_dict', {})
|
||||||
if not (info_dict.get('id') and info_dict.get('ext')):
|
params = tc.get('params', {})
|
||||||
raise Exception('Test definition incorrect. The output file cannot be known. Are both \'id\' and \'ext\' keys present?')
|
if not info_dict.get('id'):
|
||||||
|
raise Exception('Test definition incorrect. \'id\' key is not present')
|
||||||
|
elif not info_dict.get('ext'):
|
||||||
|
if params.get('skip_download') and params.get('ignore_no_formats_error'):
|
||||||
|
continue
|
||||||
|
raise Exception('Test definition incorrect. The output file cannot be known. \'ext\' key is not present')
|
||||||
|
|
||||||
if 'skip' in test_case:
|
if 'skip' in test_case:
|
||||||
print_skipping(test_case['skip'])
|
print_skipping(test_case['skip'])
|
||||||
|
Loading…
Reference in New Issue
Block a user