aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorSergey M․ <[email protected]>2017-04-10 23:59:38 +0700
committerSergey M․ <[email protected]>2017-04-11 00:01:02 +0700
commit364a69e8c66f2259f21d2d67a0e766f0180cd217 (patch)
treeffc04b4eaab81d86f79bcbc4bbb328d8841a074d /test
parent6240925b4021a755a9deb9c4707ee5cabcb63c2f (diff)
downloadyoutube-dl-364a69e8c66f2259f21d2d67a0e766f0180cd217.tar.gz
youtube-dl-364a69e8c66f2259f21d2d67a0e766f0180cd217.zip
[test_download] Fix testing playlists with single video and add comments
Diffstat (limited to 'test')
-rw-r--r--test/test_download.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/test/test_download.py b/test/test_download.py
index fd7d2e8be..0e9f293b5 100644
--- a/test/test_download.py
+++ b/test/test_download.py
@@ -199,9 +199,16 @@ def generator(test_case, tname):
self.assertEqual(
test_case['playlist_duration_sum'], got_duration)
+ # Generalize both playlists and single videos to unified format for
+ # simplicity
+ if 'entries' not in res_dict:
+ res_dict['entries'] = [res_dict]
+
for tc_num, tc in enumerate(test_cases):
- tc_res_dict = res_dict['entries'][tc_num] if is_playlist else res_dict
+ tc_res_dict = res_dict['entries'][tc_num]
+ # First, check test cases' data against extracted data alone
expect_info_dict(self, tc_res_dict, tc.get('info_dict', {}))
+ # Now, check downloaded file consistency
tc_filename = get_tc_filename(tc)
if not test_case.get('params', {}).get('skip_download', False):
self.assertTrue(os.path.exists(tc_filename), msg='Missing file ' + tc_filename)
@@ -219,13 +226,14 @@ def generator(test_case, tname):
if 'md5' in tc:
md5_for_file = _file_md5(tc_filename)
self.assertEqual(md5_for_file, tc['md5'])
+ # Finally, check test cases' data again but this time against
+ # extracted data from info JSON file written during processing
info_json_fn = os.path.splitext(tc_filename)[0] + '.info.json'
self.assertTrue(
os.path.exists(info_json_fn),
'Missing info file %s' % info_json_fn)
with io.open(info_json_fn, encoding='utf-8') as infof:
info_dict = json.load(infof)
-
expect_info_dict(self, info_dict, tc.get('info_dict', {}))
finally:
try_rm_tcs_files()