1
0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2025-06-27 17:08:32 +00:00
This commit is contained in:
InvalidUsernameException 2025-06-26 06:44:10 -03:00 committed by GitHub
commit 5c1a4f1b7b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -14,6 +14,7 @@
from test.helper import (
assertGreaterEqual,
assertLessEqual,
expect_info_dict,
expect_warnings,
get_params,
@ -122,8 +123,10 @@ def print_skipping(reason):
params['outtmpl'] = tname + '_' + params['outtmpl']
if is_playlist and 'playlist' not in test_case:
params.setdefault('extract_flat', 'in_playlist')
params.setdefault('playlistend', test_case.get(
'playlist_mincount', test_case.get('playlist_count', -2) + 1))
params.setdefault('playlistend', max(
test_case.get('playlist_mincount') or -1,
(test_case.get('playlist_count') or -2) + 1,
(test_case.get('playlist_maxcount') or -2) + 1))
params.setdefault('skip_download', True)
ydl = YoutubeDL(params, auto_init=False)
@ -194,27 +197,23 @@ def try_rm_tcs_files(tcs=None):
self.assertTrue('entries' in res_dict)
expect_info_dict(self, res_dict, test_case.get('info_dict', {}))
num_entries = len(res_dict['entries'])
if 'playlist_mincount' in test_case:
assertGreaterEqual(
self,
len(res_dict['entries']),
test_case['playlist_mincount'],
'Expected at least %d in playlist %s, but got only %d' % (
test_case['playlist_mincount'], test_case['url'],
len(res_dict['entries'])))
self, num_entries, test_case['playlist_mincount'],
f'Expected at least {test_case["playlist_mincount"]} entries '
f'in playlist {test_case["url"]}, but got only {num_entries}')
if 'playlist_count' in test_case:
got_text = num_entries if num_entries <= test_case['playlist_count'] else 'more'
self.assertEqual(
len(res_dict['entries']),
test_case['playlist_count'],
'Expected %d entries in playlist %s, but got %d.' % (
test_case['playlist_count'],
test_case['url'],
len(res_dict['entries']),
))
if 'playlist_duration_sum' in test_case:
got_duration = sum(e['duration'] for e in res_dict['entries'])
self.assertEqual(
test_case['playlist_duration_sum'], got_duration)
num_entries, test_case['playlist_count'],
f'Expected exactly {test_case["playlist_count"]} entries '
f'in playlist {test_case["url"]}, but got {got_text}')
if 'playlist_maxcount' in test_case:
assertLessEqual(
self, num_entries, test_case['playlist_maxcount'],
f'Expected at most {test_case["playlist_maxcount"]} entries '
f'in playlist {test_case["url"]}, but got more')
# Generalize both playlists and single videos to unified format for
# simplicity