]> jfr.im git - yt-dlp.git/blobdiff - test/test_download.py
[test] Use `pytest` instead of `nosetests` (#482)
[yt-dlp.git] / test / test_download.py
index bcd3b40417b8e0f2b17b0de10873aa528a96f276..e4485ce81855707464b2e489ede68e14c2bc0c9c 100644 (file)
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 
 from __future__ import unicode_literals
 
 
 from test.helper import (
     assertGreaterEqual,
+    expect_info_dict,
     expect_warnings,
     get_params,
     gettestcases,
-    expect_info_dict,
-    try_rm,
+    is_download_test,
     report_warning,
+    try_rm,
 )
 
 
 import json
 import socket
 
-import youtube_dlc.YoutubeDL
-from youtube_dlc.compat import (
+import yt_dlp.YoutubeDL
+from yt_dlp.compat import (
     compat_http_client,
     compat_urllib_error,
     compat_HTTPError,
 )
-from youtube_dlc.utils import (
+from yt_dlp.utils import (
     DownloadError,
     ExtractorError,
     format_bytes,
     UnavailableVideoError,
 )
-from youtube_dlc.extractor import get_info_extractor
+from yt_dlp.extractor import get_info_extractor
 
 RETRIES = 3
 
 
-class YoutubeDL(youtube_dlc.YoutubeDL):
+class YoutubeDL(yt_dlp.YoutubeDL):
     def __init__(self, *args, **kwargs):
         self.to_stderr = self.to_screen
         self.processed_info_dicts = []
@@ -64,6 +65,7 @@ def _file_md5(fn):
 defs = gettestcases()
 
 
+@is_download_test
 class TestDownload(unittest.TestCase):
     # Parallel testing in nosetests. See
     # http://nose.readthedocs.org/en/latest/doc_tests/test_multiprocess/multiprocess.html
@@ -92,7 +94,7 @@ def setUp(self):
 def generator(test_case, tname):
 
     def test_template(self):
-        ie = youtube_dlc.extractor.get_info_extractor(test_case['name'])()
+        ie = yt_dlp.extractor.get_info_extractor(test_case['name'])()
         other_ies = [get_info_extractor(ie_key)() for ie_key in test_case.get('add_ie', [])]
         is_playlist = any(k.startswith('playlist') for k in test_case)
         test_cases = test_case.get(
@@ -121,6 +123,7 @@ 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'))
             params.setdefault('skip_download', True)
 
         ydl = YoutubeDL(params, auto_init=False)