From 364a69e8c66f2259f21d2d67a0e766f0180cd217 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergey=20M=E2=80=A4?= Date: Mon, 10 Apr 2017 23:59:38 +0700 Subject: [PATCH] [test_download] Fix testing playlists with single video and add comments --- test/test_download.py | 12 ++++++++++-- 1 file 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 try_rm_tcs_files(tcs=None): 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 try_rm_tcs_files(tcs=None): 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()