From a9b370069838e84d44ac7ad095d657003665885a Mon Sep 17 00:00:00 2001 From: bashonly <88596187+bashonly@users.noreply.github.com> Date: Fri, 30 May 2025 17:48:48 -0500 Subject: [PATCH] [test:postprocessors] Remove binary thumbnail test data (#13341) Authored by: bashonly --- .gitignore | 2 ++ Makefile | 5 ++-- test/test_postprocessors.py | 23 ++++++++++++++++-- .../thumbnails/foo %d bar/foo_%d.webp | Bin 3928 -> 0 bytes .../thumbnails/foo %d bar/placeholder | 0 5 files changed, 26 insertions(+), 4 deletions(-) delete mode 100644 test/testdata/thumbnails/foo %d bar/foo_%d.webp create mode 100644 test/testdata/thumbnails/foo %d bar/placeholder diff --git a/.gitignore b/.gitignore index 8fcd0de641..40bb34d2aa 100644 --- a/.gitignore +++ b/.gitignore @@ -105,6 +105,8 @@ README.txt *.zsh *.spec test/testdata/sigs/player-*.js +test/testdata/thumbnails/empty.webp +test/testdata/thumbnails/foo\ %d\ bar/foo_%d.* # Binary /youtube-dl diff --git a/Makefile b/Makefile index 6c72ead1ef..273cb3cc0b 100644 --- a/Makefile +++ b/Makefile @@ -18,10 +18,11 @@ pypi-files: AUTHORS Changelog.md LICENSE README.md README.txt supportedsites \ tar pypi-files lazy-extractors install uninstall clean-test: - rm -rf test/testdata/sigs/player-*.js tmp/ *.annotations.xml *.aria2 *.description *.dump *.frag \ + rm -rf tmp/ *.annotations.xml *.aria2 *.description *.dump *.frag \ *.frag.aria2 *.frag.urls *.info.json *.live_chat.json *.meta *.part* *.tmp *.temp *.unknown_video *.ytdl \ *.3gp *.ape *.ass *.avi *.desktop *.f4v *.flac *.flv *.gif *.jpeg *.jpg *.lrc *.m4a *.m4v *.mhtml *.mkv *.mov *.mp3 *.mp4 \ - *.mpg *.mpga *.oga *.ogg *.opus *.png *.sbv *.srt *.ssa *.swf *.tt *.ttml *.url *.vtt *.wav *.webloc *.webm *.webp + *.mpg *.mpga *.oga *.ogg *.opus *.png *.sbv *.srt *.ssa *.swf *.tt *.ttml *.url *.vtt *.wav *.webloc *.webm *.webp \ + test/testdata/sigs/player-*.js test/testdata/thumbnails/empty.webp "test/testdata/thumbnails/foo %d bar/foo_%d."* clean-dist: rm -rf yt-dlp.1.temp.md yt-dlp.1 README.txt MANIFEST build/ dist/ .coverage cover/ yt-dlp.tar.gz completions/ \ yt_dlp/extractor/lazy_extractors.py *.spec CONTRIBUTING.md.tmp yt-dlp yt-dlp.exe yt_dlp.egg-info/ AUTHORS diff --git a/test/test_postprocessors.py b/test/test_postprocessors.py index 603f85c654..ecc73e39eb 100644 --- a/test/test_postprocessors.py +++ b/test/test_postprocessors.py @@ -8,6 +8,8 @@ import unittest sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) +import subprocess + from yt_dlp import YoutubeDL from yt_dlp.utils import shell_quote from yt_dlp.postprocessor import ( @@ -47,7 +49,18 @@ class TestConvertThumbnail(unittest.TestCase): print('Skipping: ffmpeg not found') return - file = 'test/testdata/thumbnails/foo %d bar/foo_%d.{}' + test_data_dir = 'test/testdata/thumbnails' + generated_file = f'{test_data_dir}/empty.webp' + + subprocess.check_call([ + pp.executable, '-y', '-f', 'lavfi', '-i', 'color=c=black:s=320x320', + '-c:v', 'libwebp', '-pix_fmt', 'yuv420p', '-vframes', '1', generated_file, + ], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) + + file = test_data_dir + '/foo %d bar/foo_%d.{}' + initial_file = file.format('webp') + os.replace(generated_file, initial_file) + tests = (('webp', 'png'), ('png', 'jpg')) for inp, out in tests: @@ -55,11 +68,13 @@ class TestConvertThumbnail(unittest.TestCase): if os.path.exists(out_file): os.remove(out_file) pp.convert_thumbnail(file.format(inp), out) - assert os.path.exists(out_file) + self.assertTrue(os.path.exists(out_file)) for _, out in tests: os.remove(file.format(out)) + os.remove(initial_file) + class TestExec(unittest.TestCase): def test_parse_cmd(self): @@ -610,3 +625,7 @@ outpoint 10.000000 self.assertEqual( r"'special '\'' characters '\'' galore'\'\'\'", self._pp._quote_for_ffmpeg("special ' characters ' galore'''")) + + +if __name__ == '__main__': + unittest.main() diff --git a/test/testdata/thumbnails/foo %d bar/foo_%d.webp b/test/testdata/thumbnails/foo %d bar/foo_%d.webp deleted file mode 100644 index d64d0839f054071849aa12f194b8b20b19e6bb59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3928 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 bLpo5mJGW#CT`nX2$#Kl+y#GFf|MdR>k&2#! diff --git a/test/testdata/thumbnails/foo %d bar/placeholder b/test/testdata/thumbnails/foo %d bar/placeholder new file mode 100644 index 0000000000..e69de29bb2