>>> yt-dlp: Building community/yt-dlp 2024.11.04-r0 (using abuild 3.14.1-r3) started Sat, 16 Nov 2024 02:42:57 +0000 >>> yt-dlp: Validating /home/buildozer/aports/community/yt-dlp/APKBUILD... >>> yt-dlp: Analyzing dependencies... >>> yt-dlp: Installing for build: build-base python3 attr ca-certificates ffmpeg py3-brotli py3-mutagen py3-pycryptodomex py3-secretstorage py3-websockets py3-gpep517 py3-hatchling py3-flake8 py3-nose py3-pytest-xdist py3-requests (1/177) Installing libbz2 (1.0.8-r6) (2/177) Installing libffi (3.4.6-r0) (3/177) Installing gdbm (1.24-r0) (4/177) Installing xz-libs (5.6.3-r0) (5/177) Installing mpdecimal (4.0.0-r0) (6/177) Installing libpanelw (6.5_p20241006-r3) (7/177) Installing sqlite-libs (3.47.0-r0) (8/177) Installing python3 (3.12.7-r1) (9/177) Installing python3-pycache-pyc0 (3.12.7-r1) (10/177) Installing pyc (3.12.7-r1) (11/177) Installing python3-pyc (3.12.7-r1) (12/177) Installing libattr (2.5.2-r2) (13/177) Installing attr (2.5.2-r2) (14/177) Installing ca-certificates (20240705-r0) (15/177) Installing aom-libs (3.10.0-r0) (16/177) Installing libxau (1.0.11-r4) (17/177) Installing libmd (1.1.0-r0) (18/177) Installing libbsd (0.12.2-r0) (19/177) Installing libxdmcp (1.1.5-r1) (20/177) Installing libxcb (1.16.1-r0) (21/177) Installing libx11 (1.8.10-r0) (22/177) Installing hwdata-pci (0.388-r0) (23/177) Installing libpciaccess (0.18.1-r0) (24/177) Installing libdrm (2.4.123-r1) (25/177) Installing libxext (1.3.6-r2) (26/177) Installing libxfixes (6.0.1-r4) (27/177) Installing wayland-libs-client (1.23.1-r0) (28/177) Installing libva (2.22.0-r1) (29/177) Installing libvdpau (1.5-r4) (30/177) Installing ffmpeg-libavutil (6.1.1-r10) (31/177) Installing libdav1d (1.5.0-r0) (32/177) Installing openexr-libiex (3.1.13-r2) (33/177) Installing openexr-libilmthread (3.1.13-r2) (34/177) Installing imath (3.1.12-r0) (35/177) Installing openexr-libopenexr (3.1.13-r2) (36/177) Installing giflib (5.2.2-r0) (37/177) Installing libhwy (1.0.7-r0) (38/177) Installing libjpeg-turbo (3.0.4-r0) (39/177) Installing lcms2 (2.16-r0) (40/177) Installing libpng (1.6.44-r0) (41/177) Installing libjxl (0.10.2-r0) (42/177) Installing lame-libs (3.100-r5) (43/177) Installing opus (1.5.2-r1) (44/177) Installing rav1e-libs (0.7.1-r0) (45/177) Installing soxr (0.1.3-r7) (46/177) Installing ffmpeg-libswresample (6.1.1-r10) (47/177) Installing libogg (1.3.5-r5) (48/177) Installing libtheora (1.1.1-r18) (49/177) Installing libvorbis (1.3.7-r2) (50/177) Installing libvpx (1.14.1-r0) (51/177) Installing libsharpyuv (1.4.0-r0) (52/177) Installing libwebp (1.4.0-r0) (53/177) Installing libwebpmux (1.4.0-r0) (54/177) Installing x264-libs (0.164.3108-r0) (55/177) Installing numactl (2.0.18-r0) (56/177) Installing x265-libs (3.6-r0) (57/177) Installing xvidcore (1.3.7-r2) (58/177) Installing ffmpeg-libavcodec (6.1.1-r10) (59/177) Installing sdl2 (2.30.9-r0) (60/177) Installing alsa-lib (1.2.12-r0) (61/177) Installing freetype (2.13.3-r0) (62/177) Installing fontconfig (2.15.0-r1) (63/177) Installing fribidi (1.0.16-r0) (64/177) Installing libintl (0.22.5-r0) (65/177) Installing libeconf (0.6.3-r0) (66/177) Installing libblkid (2.40.2-r3) (67/177) Installing libmount (2.40.2-r3) (68/177) Installing glib (2.82.2-r0) (69/177) Installing graphite2 (1.3.14-r6) (70/177) Installing harfbuzz (9.0.0-r1) (71/177) Installing libunibreak (6.1-r0) (72/177) Installing libass (0.17.3-r0) (73/177) Installing libbluray (1.3.4-r1) (74/177) Installing mpg123-libs (1.32.9-r0) (75/177) Installing libopenmpt (0.7.10-r0) (76/177) Installing mbedtls (3.6.2-r0) (77/177) Installing librist (0.2.10-r1) (78/177) Installing libsrt (1.5.3-r0) (79/177) Installing libssh (0.11.1-r0) (80/177) Installing libxml2 (2.13.4-r3) (81/177) Installing libsodium (1.0.20-r0) (82/177) Installing libzmq (4.3.5-r2) (83/177) Installing ffmpeg-libavformat (6.1.1-r10) (84/177) Installing serd-libs (0.32.2-r0) (85/177) Installing zix-libs (0.4.2-r0) (86/177) Installing sord-libs (0.16.16-r0) (87/177) Installing sratom (0.6.16-r0) (88/177) Installing lilv-libs (0.24.24-r1) (89/177) Installing libdovi (3.3.1-r0) (90/177) Installing spirv-tools (1.3.290.0-r0) (91/177) Installing glslang-libs (1.3.296.0-r0) (92/177) Installing shaderc (2024.0-r2) (93/177) Installing vulkan-loader (1.3.296.0-r0) (94/177) Installing libplacebo (6.338.2-r3) (95/177) Installing ffmpeg-libpostproc (6.1.1-r10) (96/177) Installing ffmpeg-libswscale (6.1.1-r10) (97/177) Installing vidstab (1.1.1-r0) (98/177) Installing zimg (3.0.5-r2) (99/177) Installing ffmpeg-libavfilter (6.1.1-r10) (100/177) Installing libasyncns (0.8-r4) (101/177) Installing dbus-libs (1.14.10-r4) (102/177) Installing libltdl (2.4.7-r3) (103/177) Installing orc (0.4.40-r1) (104/177) Installing libflac (1.4.3-r1) (105/177) Installing libsndfile (1.2.2-r0) (106/177) Installing speexdsp (1.2.1-r2) (107/177) Installing tdb-libs (1.4.10-r0) (108/177) Installing libpulse (17.0-r4) (109/177) Installing v4l-utils-libs (1.28.1-r1) (110/177) Installing ffmpeg-libavdevice (6.1.1-r10) (111/177) Installing ffmpeg (6.1.1-r10) (112/177) Installing py3-brotli (1.1.0-r2) (113/177) Installing py3-brotli-pyc (1.1.0-r2) (114/177) Installing py3-mutagen (1.47.0-r1) (115/177) Installing py3-mutagen-pyc (1.47.0-r1) (116/177) Installing py3-pycryptodomex (3.20.0-r1) (117/177) Installing py3-cparser (2.22-r1) (118/177) Installing py3-cparser-pyc (2.22-r1) (119/177) Installing py3-cffi (1.17.1-r1) (120/177) Installing py3-cffi-pyc (1.17.1-r1) (121/177) Installing py3-cryptography (43.0.3-r0) (122/177) Installing py3-cryptography-pyc (43.0.3-r0) (123/177) Installing py3-jeepney (0.8.0-r4) (124/177) Installing py3-jeepney-pyc (0.8.0-r4) (125/177) Installing py3-secretstorage (3.3.3-r3) (126/177) Installing py3-secretstorage-pyc (3.3.3-r3) (127/177) Installing py3-websockets (14.1-r0) (128/177) Installing py3-websockets-pyc (14.1-r0) (129/177) Installing py3-installer (0.7.0-r2) (130/177) Installing py3-installer-pyc (0.7.0-r2) (131/177) Installing py3-gpep517 (16-r0) (132/177) Installing py3-gpep517-pyc (16-r0) (133/177) Installing py3-editables (0.5-r2) (134/177) Installing py3-editables-pyc (0.5-r2) (135/177) Installing py3-parsing (3.1.4-r0) (136/177) Installing py3-parsing-pyc (3.1.4-r0) (137/177) Installing py3-packaging (24.2-r0) (138/177) Installing py3-packaging-pyc (24.2-r0) (139/177) Installing py3-pathspec (0.12.1-r2) (140/177) Installing py3-pathspec-pyc (0.12.1-r2) (141/177) Installing py3-pluggy (1.5.0-r0) (142/177) Installing py3-pluggy-pyc (1.5.0-r0) (143/177) Installing py3-trove-classifiers (2024.10.21.16-r0) (144/177) Installing py3-trove-classifiers-pyc (2024.10.21.16-r0) (145/177) Installing py3-hatchling (1.26.1-r0) (146/177) Installing py3-hatchling-pyc (1.26.1-r0) (147/177) Installing py3-pyflakes (3.2.0-r1) (148/177) Installing py3-pyflakes-pyc (3.2.0-r1) (149/177) Installing py3-pycodestyle (2.12.0-r0) (150/177) Installing py3-pycodestyle-pyc (2.12.0-r0) (151/177) Installing py3-mccabe (0.7.0-r4) (152/177) Installing py3-mccabe-pyc (0.7.0-r4) (153/177) Installing py3-flake8 (7.1.1-r0) (154/177) Installing py3-flake8-pyc (7.1.1-r0) (155/177) Installing py3-nose (1.3.7-r13) (156/177) Installing py3-nose-pyc (1.3.7-r13) (157/177) Installing py3-execnet (2.1.1-r0) (158/177) Installing py3-execnet-pyc (2.1.1-r0) (159/177) Installing py3-iniconfig (2.0.0-r1) (160/177) Installing py3-iniconfig-pyc (2.0.0-r1) (161/177) Installing py3-py (1.11.0-r4) (162/177) Installing py3-py-pyc (1.11.0-r4) (163/177) Installing py3-pytest (8.3.3-r0) (164/177) Installing py3-pytest-pyc (8.3.3-r0) (165/177) Installing py3-pytest-xdist (3.6.1-r0) (166/177) Installing py3-pytest-xdist-pyc (3.6.1-r0) (167/177) Installing py3-certifi (2024.8.30-r0) (168/177) Installing py3-certifi-pyc (2024.8.30-r0) (169/177) Installing py3-charset-normalizer (3.4.0-r0) (170/177) Installing py3-charset-normalizer-pyc (3.4.0-r0) (171/177) Installing py3-idna (3.10-r0) (172/177) Installing py3-idna-pyc (3.10-r0) (173/177) Installing py3-urllib3 (1.26.20-r0) (174/177) Installing py3-urllib3-pyc (1.26.20-r0) (175/177) Installing py3-requests (2.32.3-r0) (176/177) Installing py3-requests-pyc (2.32.3-r0) (177/177) Installing .makedepends-yt-dlp (20241116.024300) Executing busybox-1.37.0-r7.trigger Executing ca-certificates-20240705-r0.trigger Executing glib-2.82.2-r0.trigger OK: 549 MiB in 277 packages >>> yt-dlp: Cleaning up srcdir >>> yt-dlp: Cleaning up pkgdir >>> yt-dlp: Cleaning up tmpdir >>> yt-dlp: Fetching https://distfiles.alpinelinux.org/distfiles/v3.21/yt-dlp-2024.11.04.tar.gz >>> yt-dlp: Fetching https://distfiles.alpinelinux.org/distfiles/v3.21/yt-dlp-2024.11.04.tar.gz >>> yt-dlp: Checking sha512sums... yt-dlp-2024.11.04.tar.gz: OK >>> yt-dlp: Unpacking /var/cache/distfiles/v3.21/yt-dlp-2024.11.04.tar.gz... 2024-11-16 02:43:01,959 gpep517 INFO Building wheel via backend hatchling.build 2024-11-16 02:43:02,384 gpep517 INFO The backend produced .dist/yt_dlp-2024.11.4-py3-none-any.whl yt_dlp-2024.11.4-py3-none-any.whl ============================= test session starts ============================== platform linux -- Python 3.12.7, pytest-8.3.3, pluggy-1.5.0 -- /home/buildozer/aports/community/yt-dlp/src/yt-dlp/.testenv/bin/python3 cachedir: .pytest_cache rootdir: /home/buildozer/aports/community/yt-dlp/src/yt-dlp configfile: pyproject.toml plugins: xdist-3.6.1 collecting ... collected 6959 items / 5968 deselected / 991 selected test/test_InfoExtractor.py::TestInfoExtractor::test_extract_jwplayer_data_realworld PASSED [ 0%] test/test_InfoExtractor.py::TestInfoExtractor::test_get_netrc_login_info PASSED [ 0%] test/test_InfoExtractor.py::TestInfoExtractor::test_html_search_meta PASSED [ 0%] test/test_InfoExtractor.py::TestInfoExtractor::test_html_search_regex PASSED [ 0%] test/test_InfoExtractor.py::TestInfoExtractor::test_ie_key PASSED [ 0%] test/test_InfoExtractor.py::TestInfoExtractor::test_opengraph PASSED [ 0%] test/test_InfoExtractor.py::TestInfoExtractor::test_parse_f4m_formats PASSED [ 0%] test/test_InfoExtractor.py::TestInfoExtractor::test_parse_html5_media_entries PASSED [ 0%] test/test_InfoExtractor.py::TestInfoExtractor::test_parse_ism_formats PASSED [ 0%] test/test_InfoExtractor.py::TestInfoExtractor::test_parse_m3u8_formats PASSED [ 1%] test/test_InfoExtractor.py::TestInfoExtractor::test_parse_mpd_formats PASSED [ 1%] test/test_InfoExtractor.py::TestInfoExtractor::test_parse_xspf PASSED [ 1%] test/test_InfoExtractor.py::TestInfoExtractor::test_response_with_expected_status_returns_content PASSED [ 1%] test/test_InfoExtractor.py::TestInfoExtractor::test_search_json_ld_realworld PASSED [ 1%] test/test_InfoExtractor.py::TestInfoExtractor::test_search_nextjs_data PASSED [ 1%] test/test_YoutubeDL.py::TestFormatSelection::test_audio_only_extractor_format_selection PASSED [ 1%] test/test_YoutubeDL.py::TestFormatSelection::test_default_format_spec_with_ffmpeg PASSED [ 1%] test/test_YoutubeDL.py::TestFormatSelection::test_default_format_spec_without_ffmpeg PASSED [ 1%] test/test_YoutubeDL.py::TestFormatSelection::test_format_filtering PASSED [ 1%] test/test_YoutubeDL.py::TestFormatSelection::test_format_not_available PASSED [ 2%] test/test_YoutubeDL.py::TestFormatSelection::test_format_selection PASSED [ 2%] test/test_YoutubeDL.py::TestFormatSelection::test_format_selection_audio PASSED [ 2%] test/test_YoutubeDL.py::TestFormatSelection::test_format_selection_audio_exts PASSED [ 2%] test/test_YoutubeDL.py::TestFormatSelection::test_format_selection_by_vcodec_sort PASSED [ 2%] test/test_YoutubeDL.py::TestFormatSelection::test_format_selection_issue_10083 PASSED [ 2%] test/test_YoutubeDL.py::TestFormatSelection::test_format_selection_string_ops PASSED [ 2%] test/test_YoutubeDL.py::TestFormatSelection::test_format_selection_video PASSED [ 2%] test/test_YoutubeDL.py::TestFormatSelection::test_invalid_format_specs PASSED [ 2%] test/test_YoutubeDL.py::TestFormatSelection::test_prefer_free_formats PASSED [ 2%] test/test_YoutubeDL.py::TestFormatSelection::test_youtube_format_selection PASSED [ 3%] test/test_YoutubeDL.py::TestYoutubeDL::test_add_extra_info PASSED [ 3%] test/test_YoutubeDL.py::TestYoutubeDL::test_add_headers_cookie PASSED [ 3%] test/test_YoutubeDL.py::TestYoutubeDL::test_do_not_override_ie_key_in_url_transparent PASSED [ 3%] test/test_YoutubeDL.py::TestYoutubeDL::test_format_note PASSED [ 3%] test/test_YoutubeDL.py::TestYoutubeDL::test_header_cookies PASSED [ 3%] test/test_YoutubeDL.py::TestYoutubeDL::test_ignoreerrors_for_playlist_with_url_transparent_iterable_entries PASSED [ 3%] test/test_YoutubeDL.py::TestYoutubeDL::test_infojson_cookies PASSED [ 3%] test/test_YoutubeDL.py::TestYoutubeDL::test_match_filter PASSED [ 3%] test/test_YoutubeDL.py::TestYoutubeDL::test_playlist_items_selection PASSED [ 3%] test/test_YoutubeDL.py::TestYoutubeDL::test_postprocessors PASSED [ 4%] test/test_YoutubeDL.py::TestYoutubeDL::test_prepare_outtmpl_and_filename PASSED [ 4%] test/test_YoutubeDL.py::TestYoutubeDL::test_subtitles PASSED [ 4%] test/test_YoutubeDLCookieJar.py::TestYoutubeDLCookieJar::test_get_cookie_header PASSED [ 4%] test/test_YoutubeDLCookieJar.py::TestYoutubeDLCookieJar::test_get_cookies_for_url PASSED [ 4%] test/test_YoutubeDLCookieJar.py::TestYoutubeDLCookieJar::test_keep_session_cookies PASSED [ 4%] test/test_YoutubeDLCookieJar.py::TestYoutubeDLCookieJar::test_malformed_cookies PASSED [ 4%] test/test_YoutubeDLCookieJar.py::TestYoutubeDLCookieJar::test_strip_httponly_prefix PASSED [ 4%] test/test_aes.py::TestAES::test_cbc_decrypt PASSED [ 4%] test/test_aes.py::TestAES::test_cbc_encrypt PASSED [ 4%] test/test_aes.py::TestAES::test_ctr_decrypt PASSED [ 5%] test/test_aes.py::TestAES::test_ctr_encrypt PASSED [ 5%] test/test_aes.py::TestAES::test_decrypt_text PASSED [ 5%] test/test_aes.py::TestAES::test_ecb_decrypt PASSED [ 5%] test/test_aes.py::TestAES::test_ecb_encrypt PASSED [ 5%] test/test_aes.py::TestAES::test_encrypt PASSED [ 5%] test/test_aes.py::TestAES::test_gcm_aligned_decrypt PASSED [ 5%] test/test_aes.py::TestAES::test_gcm_decrypt PASSED [ 5%] test/test_aes.py::TestAES::test_key_expansion PASSED [ 5%] test/test_aes.py::TestAES::test_pad_block PASSED [ 5%] test/test_all_urls.py::TestAllURLsMatching::test_facebook_matching PASSED [ 6%] test/test_all_urls.py::TestAllURLsMatching::test_keywords PASSED [ 6%] test/test_all_urls.py::TestAllURLsMatching::test_no_duplicated_ie_names PASSED [ 6%] test/test_all_urls.py::TestAllURLsMatching::test_no_duplicates PASSED [ 6%] test/test_all_urls.py::TestAllURLsMatching::test_pbs PASSED [ 6%] test/test_all_urls.py::TestAllURLsMatching::test_soundcloud_not_matching_sets PASSED [ 6%] test/test_all_urls.py::TestAllURLsMatching::test_tumblr PASSED [ 6%] test/test_all_urls.py::TestAllURLsMatching::test_vimeo_matching PASSED [ 6%] test/test_all_urls.py::TestAllURLsMatching::test_youtube_channel_matching PASSED [ 6%] test/test_all_urls.py::TestAllURLsMatching::test_youtube_feeds PASSED [ 6%] test/test_all_urls.py::TestAllURLsMatching::test_youtube_matching PASSED [ 7%] test/test_all_urls.py::TestAllURLsMatching::test_youtube_playlist_matching PASSED [ 7%] test/test_all_urls.py::TestAllURLsMatching::test_youtube_search_matching PASSED [ 7%] test/test_all_urls.py::TestAllURLsMatching::test_youtube_user_matching PASSED [ 7%] test/test_cache.py::TestCache::test_cache PASSED [ 7%] test/test_compat.py::TestCompat::test_compat_etree_fromstring PASSED [ 7%] test/test_compat.py::TestCompat::test_compat_etree_fromstring_doctype PASSED [ 7%] test/test_compat.py::TestCompat::test_compat_expanduser PASSED [ 7%] test/test_compat.py::TestCompat::test_compat_passthrough PASSED [ 7%] test/test_compat.py::TestCompat::test_compat_urllib_parse_unquote PASSED [ 7%] test/test_compat.py::TestCompat::test_compat_urllib_parse_unquote_plus PASSED [ 8%] test/test_compat.py::TestCompat::test_compat_urllib_parse_urlencode PASSED [ 8%] test/test_compat.py::TestCompat::test_struct_unpack PASSED [ 8%] test/test_config.py::TestConfig::test_config__ENVIRON_DEFAULTS_sanity PASSED [ 8%] test/test_config.py::TestConfig::test_config_all_environ_values PASSED [ 8%] test/test_config.py::TestConfig::test_config_default_expected_locations PASSED [ 8%] test/test_config.py::TestConfig::test_config_default_grouping PASSED [ 8%] test/test_config.py::TestConfig::test_config_early_exit_commandline PASSED [ 8%] test/test_config.py::TestConfig::test_config_early_exit_files PASSED [ 8%] test/test_config.py::TestConfig::test_config_override_commandline PASSED [ 8%] test/test_config.py::TestConfig::test_config_override_files PASSED [ 9%] test/test_cookies.py::TestCookies::test_chrome_cookie_decryptor_linux_derive_key PASSED [ 9%] test/test_cookies.py::TestCookies::test_chrome_cookie_decryptor_linux_v10 PASSED [ 9%] test/test_cookies.py::TestCookies::test_chrome_cookie_decryptor_linux_v10_meta24 PASSED [ 9%] test/test_cookies.py::TestCookies::test_chrome_cookie_decryptor_linux_v11 PASSED [ 9%] test/test_cookies.py::TestCookies::test_chrome_cookie_decryptor_mac_derive_key PASSED [ 9%] test/test_cookies.py::TestCookies::test_chrome_cookie_decryptor_mac_v10 PASSED [ 9%] test/test_cookies.py::TestCookies::test_chrome_cookie_decryptor_windows_v10 PASSED [ 9%] test/test_cookies.py::TestCookies::test_chrome_cookie_decryptor_windows_v10_meta24 PASSED [ 9%] test/test_cookies.py::TestCookies::test_get_desktop_environment PASSED [ 9%] test/test_cookies.py::TestCookies::test_pbkdf2_sha1 PASSED [ 10%] test/test_cookies.py::TestCookies::test_safari_cookie_parsing PASSED [ 10%] test/test_cookies.py::TestLenientSimpleCookie::test_lenient_parsing PASSED [ 10%] test/test_cookies.py::TestLenientSimpleCookie::test_parsing PASSED [ 10%] test/test_execution.py::TestExecution::test_cmdline_umlauts PASSED [ 10%] test/test_execution.py::TestExecution::test_import PASSED [ 10%] test/test_execution.py::TestExecution::test_lazy_extractors PASSED [ 10%] test/test_execution.py::TestExecution::test_main_exec PASSED [ 10%] test/test_execution.py::TestExecution::test_module_exec PASSED [ 10%] test/test_http_proxy.py::TestHTTPProxy::test_http_no_auth[http-Urllib] PASSED [ 10%] test/test_http_proxy.py::TestHTTPProxy::test_http_no_auth[http-Requests] PASSED [ 11%] test/test_http_proxy.py::TestHTTPProxy::test_http_no_auth[http-CurlCFFI] SKIPPED [ 11%] test/test_http_proxy.py::TestHTTPProxy::test_http_auth[http-Urllib] PASSED [ 11%] test/test_http_proxy.py::TestHTTPProxy::test_http_auth[http-Requests] PASSED [ 11%] test/test_http_proxy.py::TestHTTPProxy::test_http_auth[http-CurlCFFI] SKIPPED [ 11%] test/test_http_proxy.py::TestHTTPProxy::test_http_bad_auth[http-Urllib] PASSED [ 11%] test/test_http_proxy.py::TestHTTPProxy::test_http_bad_auth[http-Requests] PASSED [ 11%] test/test_http_proxy.py::TestHTTPProxy::test_http_bad_auth[http-CurlCFFI] SKIPPED [ 11%] test/test_http_proxy.py::TestHTTPProxy::test_http_source_address[http-Urllib] PASSED [ 11%] test/test_http_proxy.py::TestHTTPProxy::test_http_source_address[http-Requests] PASSED [ 12%] test/test_http_proxy.py::TestHTTPProxy::test_http_source_address[http-CurlCFFI] SKIPPED [ 12%] test/test_http_proxy.py::TestHTTPProxy::test_https[http-Urllib] SKIPPED [ 12%] test/test_http_proxy.py::TestHTTPProxy::test_https[http-Requests] PASSED [ 12%] test/test_http_proxy.py::TestHTTPProxy::test_https[http-CurlCFFI] SKIPPED [ 12%] test/test_http_proxy.py::TestHTTPProxy::test_https_verify_failed[http-Urllib] SKIPPED [ 12%] test/test_http_proxy.py::TestHTTPProxy::test_https_verify_failed[http-Requests] PASSED [ 12%] test/test_http_proxy.py::TestHTTPProxy::test_https_verify_failed[http-CurlCFFI] SKIPPED [ 12%] test/test_http_proxy.py::TestHTTPProxy::test_http_with_idn[http-Urllib] PASSED [ 12%] test/test_http_proxy.py::TestHTTPProxy::test_http_with_idn[http-Requests] PASSED [ 12%] test/test_http_proxy.py::TestHTTPProxy::test_http_with_idn[http-CurlCFFI] SKIPPED [ 13%] test/test_http_proxy.py::TestHTTPConnectProxy::test_http_connect_no_auth[Requests-https] PASSED [ 13%] test/test_http_proxy.py::TestHTTPConnectProxy::test_http_connect_no_auth[CurlCFFI-https] SKIPPED [ 13%] test/test_http_proxy.py::TestHTTPConnectProxy::test_http_connect_auth[Requests-https] PASSED [ 13%] test/test_http_proxy.py::TestHTTPConnectProxy::test_http_connect_auth[CurlCFFI-https] SKIPPED [ 13%] test/test_http_proxy.py::TestHTTPConnectProxy::test_http_connect_bad_auth[Requests-https] SKIPPED [ 13%] test/test_http_proxy.py::TestHTTPConnectProxy::test_http_connect_bad_auth[CurlCFFI-https] SKIPPED [ 13%] test/test_http_proxy.py::TestHTTPConnectProxy::test_http_connect_source_address[Requests-https] PASSED [ 13%] test/test_http_proxy.py::TestHTTPConnectProxy::test_http_connect_source_address[CurlCFFI-https] SKIPPED [ 13%] test/test_http_proxy.py::TestHTTPConnectProxy::test_https_connect_proxy[Requests-https] PASSED [ 13%] test/test_http_proxy.py::TestHTTPConnectProxy::test_https_connect_proxy[CurlCFFI-https] SKIPPED [ 14%] test/test_http_proxy.py::TestHTTPConnectProxy::test_https_connect_verify_failed[Requests-https] PASSED [ 14%] test/test_http_proxy.py::TestHTTPConnectProxy::test_https_connect_verify_failed[CurlCFFI-https] SKIPPED [ 14%] test/test_http_proxy.py::TestHTTPConnectProxy::test_https_connect_proxy_auth[Requests-https] PASSED [ 14%] test/test_http_proxy.py::TestHTTPConnectProxy::test_https_connect_proxy_auth[CurlCFFI-https] SKIPPED [ 14%] test/test_jsinterp.py::TestJSInterpreter::test_add PASSED [ 14%] test/test_jsinterp.py::TestJSInterpreter::test_array_access PASSED [ 14%] test/test_jsinterp.py::TestJSInterpreter::test_assignments PASSED [ 14%] test/test_jsinterp.py::TestJSInterpreter::test_basic PASSED [ 14%] test/test_jsinterp.py::TestJSInterpreter::test_bitwise_operators_overflow PASSED [ 14%] test/test_jsinterp.py::TestJSInterpreter::test_bitwise_operators_typecast PASSED [ 15%] test/test_jsinterp.py::TestJSInterpreter::test_builtins PASSED [ 15%] test/test_jsinterp.py::TestJSInterpreter::test_calc PASSED [ 15%] test/test_jsinterp.py::TestJSInterpreter::test_call PASSED [ 15%] test/test_jsinterp.py::TestJSInterpreter::test_catch PASSED [ 15%] test/test_jsinterp.py::TestJSInterpreter::test_char_code_at PASSED [ 15%] test/test_jsinterp.py::TestJSInterpreter::test_comma PASSED [ 15%] test/test_jsinterp.py::TestJSInterpreter::test_comments SKIPPED (Not...) [ 15%] test/test_jsinterp.py::TestJSInterpreter::test_date PASSED [ 15%] test/test_jsinterp.py::TestJSInterpreter::test_div PASSED [ 15%] test/test_jsinterp.py::TestJSInterpreter::test_empty_return PASSED [ 16%] test/test_jsinterp.py::TestJSInterpreter::test_exp PASSED [ 16%] test/test_jsinterp.py::TestJSInterpreter::test_finally PASSED [ 16%] test/test_jsinterp.py::TestJSInterpreter::test_for_loop PASSED [ 16%] test/test_jsinterp.py::TestJSInterpreter::test_for_loop_break PASSED [ 16%] test/test_jsinterp.py::TestJSInterpreter::test_for_loop_continue PASSED [ 16%] test/test_jsinterp.py::TestJSInterpreter::test_for_loop_try PASSED [ 16%] test/test_jsinterp.py::TestJSInterpreter::test_if PASSED [ 16%] test/test_jsinterp.py::TestJSInterpreter::test_join PASSED [ 16%] test/test_jsinterp.py::TestJSInterpreter::test_literal_list PASSED [ 16%] test/test_jsinterp.py::TestJSInterpreter::test_mod PASSED [ 17%] test/test_jsinterp.py::TestJSInterpreter::test_morespace PASSED [ 17%] test/test_jsinterp.py::TestJSInterpreter::test_mul PASSED [ 17%] test/test_jsinterp.py::TestJSInterpreter::test_negative PASSED [ 17%] test/test_jsinterp.py::TestJSInterpreter::test_nested_try PASSED [ 17%] test/test_jsinterp.py::TestJSInterpreter::test_null PASSED [ 17%] test/test_jsinterp.py::TestJSInterpreter::test_object PASSED [ 17%] test/test_jsinterp.py::TestJSInterpreter::test_operators PASSED [ 17%] test/test_jsinterp.py::TestJSInterpreter::test_packed SKIPPED (Not i...) [ 17%] test/test_jsinterp.py::TestJSInterpreter::test_parens PASSED [ 17%] test/test_jsinterp.py::TestJSInterpreter::test_precedence PASSED [ 18%] test/test_jsinterp.py::TestJSInterpreter::test_quotes PASSED [ 18%] test/test_jsinterp.py::TestJSInterpreter::test_regex PASSED [ 18%] test/test_jsinterp.py::TestJSInterpreter::test_replace SKIPPED (Not ...) [ 18%] test/test_jsinterp.py::TestJSInterpreter::test_return_function PASSED [ 18%] test/test_jsinterp.py::TestJSInterpreter::test_slice PASSED [ 18%] test/test_jsinterp.py::TestJSInterpreter::test_split PASSED [ 18%] test/test_jsinterp.py::TestJSInterpreter::test_strange_chars PASSED [ 18%] test/test_jsinterp.py::TestJSInterpreter::test_sub PASSED [ 18%] test/test_jsinterp.py::TestJSInterpreter::test_switch PASSED [ 18%] test/test_jsinterp.py::TestJSInterpreter::test_switch_default PASSED [ 19%] test/test_jsinterp.py::TestJSInterpreter::test_try PASSED [ 19%] test/test_jsinterp.py::TestJSInterpreter::test_undefined PASSED [ 19%] test/test_jsinterp.py::TestJSInterpreter::test_void PASSED [ 19%] test/test_netrc.py::TestNetRc::test_netrc_present PASSED [ 19%] test/test_networking.py::TestHTTPRequestHandler::test_ssl_error[Urllib] PASSED [ 19%] test/test_networking.py::TestHTTPRequestHandler::test_ssl_error[Requests] PASSED [ 19%] test/test_networking.py::TestHTTPRequestHandler::test_ssl_error[CurlCFFI] SKIPPED [ 19%] test/test_networking.py::TestHTTPRequestHandler::test_legacy_ssl_extension[Urllib] PASSED [ 19%] test/test_networking.py::TestHTTPRequestHandler::test_legacy_ssl_extension[Requests] PASSED [ 19%] test/test_networking.py::TestHTTPRequestHandler::test_legacy_ssl_extension[CurlCFFI] SKIPPED [ 20%] test/test_networking.py::TestHTTPRequestHandler::test_legacy_ssl_support[Urllib] PASSED [ 20%] test/test_networking.py::TestHTTPRequestHandler::test_legacy_ssl_support[Requests] PASSED [ 20%] test/test_networking.py::TestHTTPRequestHandler::test_legacy_ssl_support[CurlCFFI] SKIPPED [ 20%] test/test_networking.py::TestHTTPRequestHandler::test_percent_encode[Urllib] PASSED [ 20%] test/test_networking.py::TestHTTPRequestHandler::test_percent_encode[Requests] PASSED [ 20%] test/test_networking.py::TestHTTPRequestHandler::test_percent_encode[CurlCFFI] SKIPPED [ 20%] test/test_networking.py::TestHTTPRequestHandler::test_remove_dot_segments[/a/b/./../../headers-Urllib] PASSED [ 20%] test/test_networking.py::TestHTTPRequestHandler::test_remove_dot_segments[/a/b/./../../headers-Requests] ---------------------------------------- Exception occurred during processing of request from ('127.0.0.1', 40302) Traceback (most recent call last): PASSED [ 20%] File "/usr/lib/python3.12/socketserver.py", line 692, in process_request_thread self.finish_request(request, client_address) File "/usr/lib/python3.12/socketserver.py", line 362, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.12/socketserver.py", line 761, in __init__ self.handle() File "/usr/lib/python3.12/http/server.py", line 438, in handle self.handle_one_request() File "/usr/lib/python3.12/http/server.py", line 404, in handle_one_request self.raw_requestline = self.rfile.readline(65537) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/socket.py", line 720, in readinto return self._sock.recv_into(b) ^^^^^^^^^^^^^^^^^^^^^^^ ConnectionResetError: [Errno 104] Connection reset by peer ---------------------------------------- test/test_networking.py::TestHTTPRequestHandler::test_remove_dot_segments[/a/b/./../../headers-CurlCFFI] SKIPPED [ 20%] test/test_networking.py::TestHTTPRequestHandler::test_remove_dot_segments[/redirect_dotsegments-Urllib] PASSED [ 21%] test/test_networking.py::TestHTTPRequestHandler::test_remove_dot_segments[/redirect_dotsegments-Requests] PASSED [ 21%] test/test_networking.py::TestHTTPRequestHandler::test_remove_dot_segments[/redirect_dotsegments-CurlCFFI] SKIPPED [ 21%] test/test_networking.py::TestHTTPRequestHandler::test_remove_dot_segments[/redirect_dotsegments_absolute-Urllib] PASSED [ 21%] test/test_networking.py::TestHTTPRequestHandler::test_remove_dot_segments[/redirect_dotsegments_absolute-Requests] PASSED [ 21%] test/test_networking.py::TestHTTPRequestHandler::test_remove_dot_segments[/redirect_dotsegments_absolute-CurlCFFI] SKIPPED [ 21%] test/test_networking.py::TestHTTPRequestHandler::test_unicode_path_redirection[Urllib] PASSED [ 21%] test/test_networking.py::TestHTTPRequestHandler::test_unicode_path_redirection[Requests] PASSED [ 21%] test/test_networking.py::TestHTTPRequestHandler::test_unicode_path_redirection[CurlCFFI] SKIPPED [ 21%] test/test_networking.py::TestHTTPRequestHandler::test_raise_http_error[Urllib] PASSED [ 21%] test/test_networking.py::TestHTTPRequestHandler::test_raise_http_error[Requests] ---------------------------------------- PASSED [ 22%]Traceback (most recent call last): File "/usr/lib/python3.12/socketserver.py", line 692, in process_request_thread self.finish_request(request, client_address) File "/usr/lib/python3.12/socketserver.py", line 362, in finish_request self.RequestHandlerClass(request, client_address, self) test/test_networking.py::TestHTTPRequestHandler::test_raise_http_error[CurlCFFI] File "/usr/lib/python3.12/socketserver.py", line 761, in __init__ self.handle() File "/usr/lib/python3.12/http/server.py", line 438, in handle self.handle_one_request() File "/usr/lib/python3.12/http/server.py", line 404, in handle_one_request self.raw_requestline = self.rfile.readline(65537) ^^^^^^^^^^^^^^^^^^^^^^^^^^ ConnectionResetError: [Errno 104] Connection reset by peer ---------------------------------------- SKIPPED [ 22%] test/test_networking.py::TestHTTPRequestHandler::test_response_url[Urllib] PASSED [ 22%] test/test_networking.py::TestHTTPRequestHandler::test_response_url[Requests] Exception occurred during processing of request from ('127.0.0.1', 40536) Traceback (most recent call last): File "/usr/lib/python3.12/socketserver.py", line 692, in process_request_thread self.finish_request(request, client_address) PASSED [ 22%] File "/usr/lib/python3.12/socketserver.py", line 362, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.12/socketserver.py", line 761, in __init__ self.handle() File "/usr/lib/python3.12/http/server.py", line 404, in handle_one_request self.raw_requestline = self.rfile.readline(65537) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/socket.py", line 720, in readinto return self._sock.recv_into(b) ^^^^^^^^^^^^^^^^^^^^^^^ ConnectionResetError: [Errno 104] Connection reset by peer ---------------------------------------- test/test_networking.py::TestHTTPRequestHandler::test_response_url[CurlCFFI] SKIPPED [ 22%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[303-POST-expected0-Urllib] PASSED [ 22%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[303-POST-expected0-Requests] PASSED [ 22%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[303-POST-expected0-CurlCFFI] SKIPPED [ 22%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[303-HEAD-expected1-Urllib] PASSED [ 22%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[303-HEAD-expected1-Requests] PASSED [ 23%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[303-HEAD-expected1-CurlCFFI] SKIPPED [ 23%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[301-POST-expected2-Urllib] PASSED [ 23%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[301-POST-expected2-Requests] PASSED [ 23%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[301-POST-expected2-CurlCFFI] SKIPPED [ 23%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[301-HEAD-expected3-Urllib] PASSED [ 23%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[301-HEAD-expected3-Requests] PASSED [ 23%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[301-HEAD-expected3-CurlCFFI] SKIPPED [ 23%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[302-POST-expected4-Urllib] PASSED [ 23%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[302-POST-expected4-Requests] PASSED [ 23%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[302-POST-expected4-CurlCFFI] SKIPPED [ 24%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[302-HEAD-expected5-Urllib] PASSED [ 24%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[302-HEAD-expected5-Requests] PASSED [ 24%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[302-HEAD-expected5-CurlCFFI] SKIPPED [ 24%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[307-POST-expected6-Urllib] PASSED [ 24%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[307-POST-expected6-Requests] PASSED [ 24%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[307-POST-expected6-CurlCFFI] SKIPPED [ 24%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[308-POST-expected7-Urllib] PASSED [ 24%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[308-POST-expected7-Requests] PASSED [ 24%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[308-POST-expected7-CurlCFFI] SKIPPED [ 24%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[307-HEAD-expected8-Urllib] PASSED [ 25%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[307-HEAD-expected8-Requests] PASSED [ 25%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[307-HEAD-expected8-CurlCFFI] SKIPPED [ 25%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[308-HEAD-expected9-Urllib] PASSED [ 25%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[308-HEAD-expected9-Requests] PASSED [ 25%] test/test_networking.py::TestHTTPRequestHandler::test_redirect[308-HEAD-expected9-CurlCFFI] SKIPPED [ 25%] test/test_networking.py::TestHTTPRequestHandler::test_request_cookie_header[Urllib] PASSED [ 25%] test/test_networking.py::TestHTTPRequestHandler::test_request_cookie_header[Requests] PASSED [ 25%] test/test_networking.py::TestHTTPRequestHandler::test_request_cookie_header[CurlCFFI] SKIPPED [ 25%] test/test_networking.py::TestHTTPRequestHandler::test_redirect_loop[Urllib] PASSED [ 25%] test/test_networking.py::TestHTTPRequestHandler::test_redirect_loop[Requests] PASSED [ 26%] test/test_networking.py::TestHTTPRequestHandler::test_redirect_loop[CurlCFFI] SKIPPED [ 26%] test/test_networking.py::TestHTTPRequestHandler::test_incompleteread[Urllib] PASSED [ 26%] test/test_networking.py::TestHTTPRequestHandler::test_incompleteread[Requests] PASSED [ 26%] test/test_networking.py::TestHTTPRequestHandler::test_incompleteread[CurlCFFI] SKIPPED [ 26%] test/test_networking.py::TestHTTPRequestHandler::test_cookies[Urllib] PASSED [ 26%] test/test_networking.py::TestHTTPRequestHandler::test_cookies[Requests] PASSED [ 26%] test/test_networking.py::TestHTTPRequestHandler::test_cookies[CurlCFFI] SKIPPED [ 26%] test/test_networking.py::TestHTTPRequestHandler::test_cookie_sync_only_cookiejar[Urllib] PASSED [ 26%] test/test_networking.py::TestHTTPRequestHandler::test_cookie_sync_only_cookiejar[Requests] PASSED [ 26%] test/test_networking.py::TestHTTPRequestHandler::test_cookie_sync_only_cookiejar[CurlCFFI] SKIPPED [ 27%] test/test_networking.py::TestHTTPRequestHandler::test_cookie_sync_delete_cookie[Urllib] PASSED [ 27%] test/test_networking.py::TestHTTPRequestHandler::test_cookie_sync_delete_cookie[Requests] PASSED [ 27%] test/test_networking.py::TestHTTPRequestHandler::test_cookie_sync_delete_cookie[CurlCFFI] SKIPPED [ 27%] test/test_networking.py::TestHTTPRequestHandler::test_headers[Urllib] PASSED [ 27%] test/test_networking.py::TestHTTPRequestHandler::test_headers[Requests] PASSED [ 27%] test/test_networking.py::TestHTTPRequestHandler::test_headers[CurlCFFI] SKIPPED [ 27%] test/test_networking.py::TestHTTPRequestHandler::test_read_timeout[Urllib] PASSED [ 27%] test/test_networking.py::TestHTTPRequestHandler::test_read_timeout[Requests] PASSED [ 27%] test/test_networking.py::TestHTTPRequestHandler::test_read_timeout[CurlCFFI] SKIPPED [ 27%] test/test_networking.py::TestHTTPRequestHandler::test_connect_timeout[Urllib] PASSED [ 28%] test/test_networking.py::TestHTTPRequestHandler::test_connect_timeout[Requests] PASSED [ 28%] test/test_networking.py::TestHTTPRequestHandler::test_connect_timeout[CurlCFFI] SKIPPED [ 28%] test/test_networking.py::TestHTTPRequestHandler::test_source_address[Urllib] Traceback (most recent call last): File "/usr/lib/python3.12/socketserver.py", line 692, in process_request_thread self.finish_request(request, client_address) File "/usr/lib/python3.12/socketserver.py", line 362, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.12/socketserver.py", line 761, in __init__ self.handle() File "/usr/lib/python3.12/http/server.py", line 436, in handle self.handle_one_request() File "/usr/lib/python3.12/http/server.py", line 425, in handle_one_request self.wfile.flush() #actually send the response if not already done. ^^^^^^^^^^^^^^^^^^ ValueError: I/O operation on closed file. ---------------------------------------- PASSED [ 28%] test/test_networking.py::TestHTTPRequestHandler::test_source_address[Requests] PASSED [ 28%] test/test_networking.py::TestHTTPRequestHandler::test_source_address[CurlCFFI] SKIPPED [ 28%] test/test_networking.py::TestHTTPRequestHandler::test_gzip_trailing_garbage[Urllib] PASSED [ 28%] test/test_networking.py::TestHTTPRequestHandler::test_gzip_trailing_garbage[Requests] PASSED [ 28%] test/test_networking.py::TestHTTPRequestHandler::test_gzip_trailing_garbage[CurlCFFI] SKIPPED [ 28%] test/test_networking.py::TestHTTPRequestHandler::test_brotli[Urllib] PASSED [ 28%] test/test_networking.py::TestHTTPRequestHandler::test_brotli[Requests] PASSED [ 29%] test/test_networking.py::TestHTTPRequestHandler::test_brotli[CurlCFFI] SKIPPED [ 29%] test/test_networking.py::TestHTTPRequestHandler::test_deflate[Urllib] PASSED [ 29%] test/test_networking.py::TestHTTPRequestHandler::test_deflate[Requests] PASSED [ 29%] test/test_networking.py::TestHTTPRequestHandler::test_deflate[CurlCFFI] SKIPPED [ 29%] test/test_networking.py::TestHTTPRequestHandler::test_gzip[Urllib] PASSED [ 29%] test/test_networking.py::TestHTTPRequestHandler::test_gzip[Requests] PASSED [ 29%] test/test_networking.py::TestHTTPRequestHandler::test_gzip[CurlCFFI] SKIPPED [ 29%] test/test_networking.py::TestHTTPRequestHandler::test_multiple_encodings[Urllib] PASSED [ 29%] test/test_networking.py::TestHTTPRequestHandler::test_multiple_encodings[Requests] PASSED [ 29%] test/test_networking.py::TestHTTPRequestHandler::test_multiple_encodings[CurlCFFI] SKIPPED [ 30%] test/test_networking.py::TestHTTPRequestHandler::test_unsupported_encoding[Urllib] PASSED [ 30%] test/test_networking.py::TestHTTPRequestHandler::test_unsupported_encoding[Requests] PASSED [ 30%] test/test_networking.py::TestHTTPRequestHandler::test_unsupported_encoding[CurlCFFI] SKIPPED [ 30%] test/test_networking.py::TestHTTPRequestHandler::test_read[Urllib] PASSED [ 30%] test/test_networking.py::TestHTTPRequestHandler::test_read[Requests] PASSED [ 30%] test/test_networking.py::TestHTTPRequestHandler::test_read[CurlCFFI] SKIPPED [ 30%] test/test_networking.py::TestHTTPRequestHandler::test_request_disable_proxy[Urllib] PASSED [ 30%] test/test_networking.py::TestHTTPRequestHandler::test_request_disable_proxy[Requests] ---------------------------------------- Exception occurred during processing of request from ('127.0.0.1', 60020) PASSED [ 30%]Traceback (most recent call last): File "/usr/lib/python3.12/socketserver.py", line 692, in process_request_thread self.finish_request(request, client_address) File "/usr/lib/python3.12/socketserver.py", line 362, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.12/socketserver.py", line 761, in __init__ self.handle() test/test_networking.py::TestHTTPRequestHandler::test_request_disable_proxy[CurlCFFI] File "/usr/lib/python3.12/http/server.py", line 438, in handle self.handle_one_request() File "/usr/lib/python3.12/http/server.py", line 404, in handle_one_request self.raw_requestline = self.rfile.readline(65537) ^^^^^^^^^^^^^^^^^^^^^^^^^^ ConnectionResetError: [Errno 104] Connection reset by peer ---------------------------------------- SKIPPED [ 30%] test/test_networking.py::TestHTTPRequestHandler::test_noproxy[Urllib] PASSED [ 31%] test/test_networking.py::TestHTTPRequestHandler::test_noproxy[Requests] Exception occurred during processing of request from ('127.0.0.1', 60286) Traceback (most recent call last): File "/usr/lib/python3.12/socketserver.py", line 692, in process_request_thread self.finish_request(request, client_address) PASSED [ 31%] File "/usr/lib/python3.12/socketserver.py", line 362, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.12/socketserver.py", line 761, in __init__ self.handle() File "/usr/lib/python3.12/http/server.py", line 438, in handle self.handle_one_request() File "/usr/lib/python3.12/http/server.py", line 404, in handle_one_request self.raw_requestline = self.rfile.readline(65537) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/socket.py", line 720, in readinto return self._sock.recv_into(b) ^^^^^^^^^^^^^^^^^^^^^^^ ConnectionResetError: [Errno 104] Connection reset by peer ---------------------------------------- test/test_networking.py::TestHTTPRequestHandler::test_noproxy[CurlCFFI] SKIPPED [ 31%] test/test_networking.py::TestHTTPRequestHandler::test_allproxy[Urllib] PASSED [ 31%] test/test_networking.py::TestHTTPRequestHandler::test_allproxy[Requests] PASSED [ 31%] test/test_networking.py::TestHTTPRequestHandler::test_allproxy[CurlCFFI] SKIPPED [ 31%] test/test_networking.py::TestClientCertificate::test_certificate_combined_nopass[Urllib] PASSED [ 31%] test/test_networking.py::TestClientCertificate::test_certificate_combined_nopass[Requests] PASSED [ 31%] test/test_networking.py::TestClientCertificate::test_certificate_combined_nopass[CurlCFFI] SKIPPED [ 31%] test/test_networking.py::TestClientCertificate::test_certificate_nocombined_nopass[Urllib] PASSED [ 31%] test/test_networking.py::TestClientCertificate::test_certificate_nocombined_nopass[Requests] PASSED [ 32%] test/test_networking.py::TestClientCertificate::test_certificate_nocombined_nopass[CurlCFFI] SKIPPED [ 32%] test/test_networking.py::TestClientCertificate::test_certificate_combined_pass[Urllib] PASSED [ 32%] test/test_networking.py::TestClientCertificate::test_certificate_combined_pass[Requests] PASSED [ 32%] test/test_networking.py::TestClientCertificate::test_certificate_combined_pass[CurlCFFI] SKIPPED [ 32%] test/test_networking.py::TestClientCertificate::test_certificate_nocombined_pass[Urllib] PASSED [ 32%] test/test_networking.py::TestClientCertificate::test_certificate_nocombined_pass[Requests] PASSED [ 32%] test/test_networking.py::TestClientCertificate::test_certificate_nocombined_pass[CurlCFFI] SKIPPED [ 32%] test/test_networking.py::TestHTTPImpersonateRequestHandler::test_supported_impersonate_targets[CurlCFFI] SKIPPED [ 32%] test/test_networking.py::TestHTTPImpersonateRequestHandler::test_response_extensions[CurlCFFI] SKIPPED [ 32%] test/test_networking.py::TestHTTPImpersonateRequestHandler::test_http_error_response_extensions[CurlCFFI] SKIPPED [ 33%] test/test_networking.py::TestRequestHandlerMisc::test_remove_logging_handler[Requests-urllib3] PASSED [ 33%] test/test_networking.py::TestRequestHandlerMisc::test_remove_logging_handler[Websockets-websockets.client] PASSED [ 33%] test/test_networking.py::TestRequestHandlerMisc::test_remove_logging_handler[Websockets-websockets.server] PASSED [ 33%] test/test_networking.py::TestRequestHandlerMisc::test_wrap_request_errors PASSED [ 33%] test/test_networking.py::TestUrllibRequestHandler::test_file_urls[Urllib] PASSED [ 33%] test/test_networking.py::TestUrllibRequestHandler::test_http_error_returns_content[Urllib] PASSED [ 33%] test/test_networking.py::TestUrllibRequestHandler::test_httplib_validation_errors[req0-method can't contain control characters--Urllib] PASSED [ 33%] test/test_networking.py::TestUrllibRequestHandler::test_httplib_validation_errors[req1-URL can't contain control characters--Urllib] PASSED [ 33%] test/test_networking.py::TestUrllibRequestHandler::test_httplib_validation_errors[req2-Invalid header name-None-Urllib] PASSED [ 34%] test/test_networking.py::TestRequestsRequestHandler::test_request_error_mapping[-TransportError0-Requests] PASSED [ 34%] test/test_networking.py::TestRequestsRequestHandler::test_request_error_mapping[-TransportError1-Requests] PASSED [ 34%] test/test_networking.py::TestRequestsRequestHandler::test_request_error_mapping[-TransportError2-Requests] PASSED [ 34%] test/test_networking.py::TestRequestsRequestHandler::test_request_error_mapping[-TransportError3-Requests] PASSED [ 34%] test/test_networking.py::TestRequestsRequestHandler::test_request_error_mapping[-ProxyError-Requests] PASSED [ 34%] test/test_networking.py::TestRequestsRequestHandler::test_request_error_mapping[-CertificateVerifyError-Requests] PASSED [ 34%] test/test_networking.py::TestRequestsRequestHandler::test_request_error_mapping[-SSLError-Requests] PASSED [ 34%] test/test_networking.py::TestRequestsRequestHandler::test_request_error_mapping[-RequestError0-Requests] PASSED [ 34%] test/test_networking.py::TestRequestsRequestHandler::test_request_error_mapping[-RequestError1-Requests] PASSED [ 34%] test/test_networking.py::TestRequestsRequestHandler::test_request_error_mapping[-TransportError4-Requests] PASSED [ 35%] test/test_networking.py::TestRequestsRequestHandler::test_request_error_mapping[-RequestError2-Requests] PASSED [ 35%] test/test_networking.py::TestRequestsRequestHandler::test_response_error_mapping[-SSLError-None-Requests] PASSED [ 35%] test/test_networking.py::TestRequestsRequestHandler::test_response_error_mapping[-TransportError-None0-Requests] PASSED [ 35%] test/test_networking.py::TestRequestsRequestHandler::test_response_error_mapping[-TransportError-None1-Requests] PASSED [ 35%] test/test_networking.py::TestRequestsRequestHandler::test_response_error_mapping[-TransportError-None2-Requests] PASSED [ 35%] test/test_networking.py::TestRequestsRequestHandler::test_response_error_mapping[-TransportError-None3-Requests] PASSED [ 35%] test/test_networking.py::TestRequestsRequestHandler::test_response_error_mapping[-TransportError-None4-Requests] PASSED [ 35%] test/test_networking.py::TestRequestsRequestHandler::test_response_error_mapping[-IncompleteRead-3 bytes read, 4 more expected-Requests] PASSED [ 35%] test/test_networking.py::TestRequestsRequestHandler::test_response_error_mapping[-IncompleteRead-3 bytes read, 5 more expected-Requests] PASSED [ 35%] test/test_networking.py::TestRequestsRequestHandler::test_close[Requests] PASSED [ 36%] test/test_networking.py::TestCurlCFFIRequestHandler::test_impersonate[params0-extensions0-CurlCFFI] SKIPPED [ 36%] test/test_networking.py::TestCurlCFFIRequestHandler::test_impersonate[params1-extensions1-CurlCFFI] SKIPPED [ 36%] test/test_networking.py::TestCurlCFFIRequestHandler::test_headers[CurlCFFI] SKIPPED [ 36%] test/test_networking.py::TestCurlCFFIRequestHandler::test_response_error_mapping[-IncompleteRead-None-CurlCFFI] SKIPPED [ 36%] test/test_networking.py::TestCurlCFFIRequestHandler::test_response_error_mapping[-TransportError-None0-CurlCFFI] SKIPPED [ 36%] test/test_networking.py::TestCurlCFFIRequestHandler::test_response_error_mapping[-TransportError-None1-CurlCFFI] SKIPPED [ 36%] test/test_networking.py::TestCurlCFFIRequestHandler::test_request_error_mapping[-TransportError-None-CurlCFFI] SKIPPED [ 36%] test/test_networking.py::TestCurlCFFIRequestHandler::test_request_error_mapping[-CertificateVerifyError-None-CurlCFFI] SKIPPED [ 36%] test/test_networking.py::TestCurlCFFIRequestHandler::test_request_error_mapping[-SSLError-None-CurlCFFI] SKIPPED [ 36%] test/test_networking.py::TestCurlCFFIRequestHandler::test_request_error_mapping[-HTTPError-None-CurlCFFI] SKIPPED [ 37%] test/test_networking.py::TestCurlCFFIRequestHandler::test_request_error_mapping[-ProxyError-None-CurlCFFI] SKIPPED [ 37%] test/test_networking.py::TestCurlCFFIRequestHandler::test_response_reader[CurlCFFI] SKIPPED [ 37%] test/test_networking.py::TestRequestHandlerValidation::test_no_proxy[Urllib-False-http] PASSED [ 37%] test/test_networking.py::TestRequestHandlerValidation::test_no_proxy[Requests-False-http] PASSED [ 37%] test/test_networking.py::TestRequestHandlerValidation::test_no_proxy[CurlCFFI-False-http] SKIPPED [ 37%] test/test_networking.py::TestRequestHandlerValidation::test_no_proxy[Websockets-False-ws] PASSED [ 37%] test/test_networking.py::TestRequestHandlerValidation::test_empty_proxy[Urllib-http] PASSED [ 37%] test/test_networking.py::TestRequestHandlerValidation::test_empty_proxy[HTTPSupportedRH-http] PASSED [ 37%] test/test_networking.py::TestRequestHandlerValidation::test_empty_proxy[Requests-http] PASSED [ 37%] test/test_networking.py::TestRequestHandlerValidation::test_empty_proxy[CurlCFFI-http] SKIPPED [ 38%] test/test_networking.py::TestRequestHandlerValidation::test_empty_proxy[Websockets-ws] PASSED [ 38%] test/test_networking.py::TestRequestHandlerValidation::test_invalid_proxy_url[Urllib-http-//example.com] PASSED [ 38%] test/test_networking.py::TestRequestHandlerValidation::test_invalid_proxy_url[Urllib-http-example.com] PASSED [ 38%] test/test_networking.py::TestRequestHandlerValidation::test_invalid_proxy_url[Urllib-http-127.0.0.1] PASSED [ 38%] test/test_networking.py::TestRequestHandlerValidation::test_invalid_proxy_url[Urllib-http-/a/b/c] PASSED [ 38%] test/test_networking.py::TestRequestHandlerValidation::test_invalid_proxy_url[HTTPSupportedRH-http-//example.com] PASSED [ 38%] test/test_networking.py::TestRequestHandlerValidation::test_invalid_proxy_url[HTTPSupportedRH-http-example.com] PASSED [ 38%] test/test_networking.py::TestRequestHandlerValidation::test_invalid_proxy_url[HTTPSupportedRH-http-127.0.0.1] PASSED [ 38%] test/test_networking.py::TestRequestHandlerValidation::test_invalid_proxy_url[HTTPSupportedRH-http-/a/b/c] PASSED [ 38%] test/test_networking.py::TestRequestHandlerValidation::test_invalid_proxy_url[Requests-http-//example.com] PASSED [ 39%] test/test_networking.py::TestRequestHandlerValidation::test_invalid_proxy_url[Requests-http-example.com] PASSED [ 39%] test/test_networking.py::TestRequestHandlerValidation::test_invalid_proxy_url[Requests-http-127.0.0.1] PASSED [ 39%] test/test_networking.py::TestRequestHandlerValidation::test_invalid_proxy_url[Requests-http-/a/b/c] PASSED [ 39%] test/test_networking.py::TestRequestHandlerValidation::test_invalid_proxy_url[CurlCFFI-http-//example.com] SKIPPED [ 39%] test/test_networking.py::TestRequestHandlerValidation::test_invalid_proxy_url[CurlCFFI-http-example.com] SKIPPED [ 39%] test/test_networking.py::TestRequestHandlerValidation::test_invalid_proxy_url[CurlCFFI-http-127.0.0.1] SKIPPED [ 39%] test/test_networking.py::TestRequestHandlerValidation::test_invalid_proxy_url[CurlCFFI-http-/a/b/c] SKIPPED [ 39%] test/test_networking.py::TestRequestHandlerValidation::test_invalid_proxy_url[Websockets-ws-//example.com] PASSED [ 39%] test/test_networking.py::TestRequestHandlerValidation::test_invalid_proxy_url[Websockets-ws-example.com] PASSED [ 39%] test/test_networking.py::TestRequestHandlerValidation::test_invalid_proxy_url[Websockets-ws-127.0.0.1] PASSED [ 40%] test/test_networking.py::TestRequestHandlerValidation::test_invalid_proxy_url[Websockets-ws-/a/b/c] PASSED [ 40%] test/test_networking.py::TestRequestHandlerValidation::test_url_scheme[Urllib-http-False-handler_kwargs0] PASSED [ 40%] test/test_networking.py::TestRequestHandlerValidation::test_url_scheme[Urllib-https-False-handler_kwargs1] PASSED [ 40%] test/test_networking.py::TestRequestHandlerValidation::test_url_scheme[Urllib-data-False-handler_kwargs2] PASSED [ 40%] test/test_networking.py::TestRequestHandlerValidation::test_url_scheme[Urllib-ftp-False-handler_kwargs3] PASSED [ 40%] test/test_networking.py::TestRequestHandlerValidation::test_url_scheme[Urllib-file-UnsupportedRequest-handler_kwargs4] PASSED [ 40%] test/test_networking.py::TestRequestHandlerValidation::test_url_scheme[Urllib-file-False-handler_kwargs5] PASSED [ 40%] test/test_networking.py::TestRequestHandlerValidation::test_url_scheme[Requests-http-False-handler_kwargs6] PASSED [ 40%] test/test_networking.py::TestRequestHandlerValidation::test_url_scheme[Requests-https-False-handler_kwargs7] PASSED [ 40%] test/test_networking.py::TestRequestHandlerValidation::test_url_scheme[Websockets-ws-False-handler_kwargs8] PASSED [ 41%] test/test_networking.py::TestRequestHandlerValidation::test_url_scheme[Websockets-wss-False-handler_kwargs9] PASSED [ 41%] test/test_networking.py::TestRequestHandlerValidation::test_url_scheme[CurlCFFI-http-False-handler_kwargs10] SKIPPED [ 41%] test/test_networking.py::TestRequestHandlerValidation::test_url_scheme[CurlCFFI-https-False-handler_kwargs11] SKIPPED [ 41%] test/test_networking.py::TestRequestHandlerValidation::test_url_scheme[NoCheckRH-http-False-handler_kwargs12] PASSED [ 41%] test/test_networking.py::TestRequestHandlerValidation::test_url_scheme[ValidationRH-http-UnsupportedRequest-handler_kwargs13] PASSED [ 41%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_key[Urllib-http-all-http-False] PASSED [ 41%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_key[Urllib-http-unrelated-http-False] PASSED [ 41%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_key[Requests-http-all-http-False] PASSED [ 41%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_key[Requests-http-unrelated-http-False] PASSED [ 41%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_key[CurlCFFI-http-all-http-False] SKIPPED [ 42%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_key[CurlCFFI-http-unrelated-http-False] SKIPPED [ 42%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_key[Websockets-ws-all-socks5-False] PASSED [ 42%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_key[Websockets-ws-unrelated-socks5-False] PASSED [ 42%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_key[NoCheckRH-http-all-http-False] PASSED [ 42%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_key[HTTPSupportedRH-http-all-http-UnsupportedRequest] PASSED [ 42%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_key[HTTPSupportedRH-http-no-http-UnsupportedRequest] PASSED [ 42%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_scheme[Urllib-http-http-False] PASSED [ 42%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_scheme[Urllib-http-https-UnsupportedRequest] PASSED [ 42%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_scheme[Urllib-http-socks4-False] PASSED [ 42%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_scheme[Urllib-http-socks4a-False] PASSED [ 43%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_scheme[Urllib-http-socks5-False] PASSED [ 43%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_scheme[Urllib-http-socks5h-False] PASSED [ 43%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_scheme[Urllib-http-socks-UnsupportedRequest] PASSED [ 43%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_scheme[Requests-http-http-False] PASSED [ 43%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_scheme[Requests-http-https-False] PASSED [ 43%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_scheme[Requests-http-socks4-False] PASSED [ 43%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_scheme[Requests-http-socks4a-False] PASSED [ 43%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_scheme[Requests-http-socks5-False] PASSED [ 43%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_scheme[Requests-http-socks5h-False] PASSED [ 43%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_scheme[CurlCFFI-http-http-False] SKIPPED [ 44%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_scheme[CurlCFFI-http-https-False] SKIPPED [ 44%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_scheme[CurlCFFI-http-socks4-False] SKIPPED [ 44%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_scheme[CurlCFFI-http-socks4a-False] SKIPPED [ 44%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_scheme[CurlCFFI-http-socks5-False] SKIPPED [ 44%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_scheme[CurlCFFI-http-socks5h-False] SKIPPED [ 44%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_scheme[Websockets-ws-http-UnsupportedRequest] PASSED [ 44%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_scheme[Websockets-ws-https-UnsupportedRequest] PASSED [ 44%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_scheme[Websockets-ws-socks4-False] PASSED [ 44%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_scheme[Websockets-ws-socks4a-False] PASSED [ 45%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_scheme[Websockets-ws-socks5-False] PASSED [ 45%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_scheme[Websockets-ws-socks5h-False] PASSED [ 45%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_scheme[NoCheckRH-http-http-False0] PASSED [ 45%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_scheme[HTTPSupportedRH-http-http-UnsupportedRequest0] PASSED [ 45%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_scheme[NoCheckRH-http-http-False1] PASSED [ 45%] test/test_networking.py::TestRequestHandlerValidation::test_proxy_scheme[HTTPSupportedRH-http-http-UnsupportedRequest1] PASSED [ 45%] test/test_networking.py::TestRequestHandlerValidation::test_extension[Urllib-http-extensions0-AssertionError] PASSED [ 45%] test/test_networking.py::TestRequestHandlerValidation::test_extension[Urllib-http-extensions1-False] PASSED [ 45%] test/test_networking.py::TestRequestHandlerValidation::test_extension[Urllib-http-extensions2-AssertionError] PASSED [ 45%] test/test_networking.py::TestRequestHandlerValidation::test_extension[Urllib-http-extensions3-False] PASSED [ 46%] test/test_networking.py::TestRequestHandlerValidation::test_extension[Urllib-http-extensions4-AssertionError] PASSED [ 46%] test/test_networking.py::TestRequestHandlerValidation::test_extension[Urllib-http-extensions5-UnsupportedRequest] PASSED [ 46%] test/test_networking.py::TestRequestHandlerValidation::test_extension[Urllib-http-extensions6-False] PASSED [ 46%] test/test_networking.py::TestRequestHandlerValidation::test_extension[Urllib-http-extensions7-False] PASSED [ 46%] test/test_networking.py::TestRequestHandlerValidation::test_extension[Urllib-http-extensions8-AssertionError] PASSED [ 46%] test/test_networking.py::TestRequestHandlerValidation::test_extension[Requests-http-extensions9-AssertionError] PASSED [ 46%] test/test_networking.py::TestRequestHandlerValidation::test_extension[Requests-http-extensions10-False] PASSED [ 46%] test/test_networking.py::TestRequestHandlerValidation::test_extension[Requests-http-extensions11-False] PASSED [ 46%] test/test_networking.py::TestRequestHandlerValidation::test_extension[Requests-http-extensions12-AssertionError] PASSED [ 46%] test/test_networking.py::TestRequestHandlerValidation::test_extension[Requests-http-extensions13-UnsupportedRequest] PASSED [ 47%] test/test_networking.py::TestRequestHandlerValidation::test_extension[Requests-http-extensions14-False] PASSED [ 47%] test/test_networking.py::TestRequestHandlerValidation::test_extension[Requests-http-extensions15-False] PASSED [ 47%] test/test_networking.py::TestRequestHandlerValidation::test_extension[Requests-http-extensions16-AssertionError] PASSED [ 47%] test/test_networking.py::TestRequestHandlerValidation::test_extension[CurlCFFI-http-extensions17-AssertionError] SKIPPED [ 47%] test/test_networking.py::TestRequestHandlerValidation::test_extension[CurlCFFI-http-extensions18-False] SKIPPED [ 47%] test/test_networking.py::TestRequestHandlerValidation::test_extension[CurlCFFI-http-extensions19-False] SKIPPED [ 47%] test/test_networking.py::TestRequestHandlerValidation::test_extension[CurlCFFI-http-extensions20-AssertionError] SKIPPED [ 47%] test/test_networking.py::TestRequestHandlerValidation::test_extension[CurlCFFI-http-extensions21-UnsupportedRequest] SKIPPED [ 47%] test/test_networking.py::TestRequestHandlerValidation::test_extension[CurlCFFI-http-extensions22-UnsupportedRequest] SKIPPED [ 47%] test/test_networking.py::TestRequestHandlerValidation::test_extension[CurlCFFI-http-extensions23-AssertionError] SKIPPED [ 48%] test/test_networking.py::TestRequestHandlerValidation::test_extension[CurlCFFI-http-extensions24-False] SKIPPED [ 48%] test/test_networking.py::TestRequestHandlerValidation::test_extension[CurlCFFI-http-extensions25-False] SKIPPED [ 48%] test/test_networking.py::TestRequestHandlerValidation::test_extension[CurlCFFI-http-extensions26-False] SKIPPED [ 48%] test/test_networking.py::TestRequestHandlerValidation::test_extension[CurlCFFI-http-extensions27-AssertionError] SKIPPED [ 48%] test/test_networking.py::TestRequestHandlerValidation::test_extension[CurlCFFI-http-extensions28-False] SKIPPED [ 48%] test/test_networking.py::TestRequestHandlerValidation::test_extension[CurlCFFI-http-extensions29-False] SKIPPED [ 48%] test/test_networking.py::TestRequestHandlerValidation::test_extension[CurlCFFI-http-extensions30-AssertionError] SKIPPED [ 48%] test/test_networking.py::TestRequestHandlerValidation::test_extension[NoCheckRH-http-extensions31-False] PASSED [ 48%] test/test_networking.py::TestRequestHandlerValidation::test_extension[NoCheckRH-http-extensions32-False] PASSED [ 48%] test/test_networking.py::TestRequestHandlerValidation::test_extension[Websockets-ws-extensions33-False] PASSED [ 49%] test/test_networking.py::TestRequestHandlerValidation::test_extension[Websockets-ws-extensions34-False] PASSED [ 49%] test/test_networking.py::TestRequestHandlerValidation::test_extension[Websockets-ws-extensions35-False] PASSED [ 49%] test/test_networking.py::TestRequestHandlerValidation::test_extension[Websockets-ws-extensions36-False] PASSED [ 49%] test/test_networking.py::TestRequestHandlerValidation::test_extension[Websockets-ws-extensions37-AssertionError] PASSED [ 49%] test/test_networking.py::TestRequestHandlerValidation::test_invalid_request_type PASSED [ 49%] test/test_networking.py::TestRequestDirector::test_handler_operations PASSED [ 49%] test/test_networking.py::TestRequestDirector::test_send PASSED [ 49%] test/test_networking.py::TestRequestDirector::test_unsupported_handlers PASSED [ 49%] test/test_networking.py::TestRequestDirector::test_unexpected_error PASSED [ 49%] test/test_networking.py::TestRequestDirector::test_preference PASSED [ 50%] test/test_networking.py::TestRequestDirector::test_close PASSED [ 50%] test/test_networking.py::TestYoutubeDLNetworking::test_compat_opener PASSED [ 50%] test/test_networking.py::TestYoutubeDLNetworking::test_proxy[http://127.0.0.1:8080-expected0] PASSED [ 50%] test/test_networking.py::TestYoutubeDLNetworking::test_proxy[-expected1] PASSED [ 50%] test/test_networking.py::TestYoutubeDLNetworking::test_proxy[None-expected2] PASSED [ 50%] test/test_networking.py::TestYoutubeDLNetworking::test_compat_request PASSED [ 50%] test/test_networking.py::TestYoutubeDLNetworking::test_extract_basic_auth PASSED [ 50%] test/test_networking.py::TestYoutubeDLNetworking::test_sanitize_url PASSED [ 50%] test/test_networking.py::TestYoutubeDLNetworking::test_file_urls_error PASSED [ 50%] test/test_networking.py::TestYoutubeDLNetworking::test_websocket_unavailable_error[ws] PASSED [ 51%] test/test_networking.py::TestYoutubeDLNetworking::test_websocket_unavailable_error[wss] PASSED [ 51%] test/test_networking.py::TestYoutubeDLNetworking::test_legacy_server_connect_error PASSED [ 51%] test/test_networking.py::TestYoutubeDLNetworking::test_unsupported_impersonate_target PASSED [ 51%] test/test_networking.py::TestYoutubeDLNetworking::test_unsupported_impersonate_extension PASSED [ 51%] test/test_networking.py::TestYoutubeDLNetworking::test_raise_impersonate_error PASSED [ 51%] test/test_networking.py::TestYoutubeDLNetworking::test_pass_impersonate_param PASSED [ 51%] test/test_networking.py::TestYoutubeDLNetworking::test_get_impersonate_targets PASSED [ 51%] test/test_networking.py::TestYoutubeDLNetworking::test_clean_proxy[http-__noproxy__-None] PASSED [ 51%] test/test_networking.py::TestYoutubeDLNetworking::test_clean_proxy[no-127.0.0.1,foo.bar-127.0.0.1,foo.bar] PASSED [ 51%] test/test_networking.py::TestYoutubeDLNetworking::test_clean_proxy[https-example.com-http://example.com] PASSED [ 52%] test/test_networking.py::TestYoutubeDLNetworking::test_clean_proxy[https-//example.com-http://example.com] PASSED [ 52%] test/test_networking.py::TestYoutubeDLNetworking::test_clean_proxy[https-socks5://example.com-socks5h://example.com] PASSED [ 52%] test/test_networking.py::TestYoutubeDLNetworking::test_clean_proxy[http-socks://example.com-socks4://example.com] PASSED [ 52%] test/test_networking.py::TestYoutubeDLNetworking::test_clean_proxy[http-socks4://example.com-socks4://example.com] PASSED [ 52%] test/test_networking.py::TestYoutubeDLNetworking::test_clean_proxy[unrelated-/bad/proxy-/bad/proxy] PASSED [ 52%] test/test_networking.py::TestYoutubeDLNetworking::test_clean_proxy_header PASSED [ 52%] test/test_networking.py::TestYoutubeDLNetworking::test_clean_header PASSED [ 52%] test/test_networking.py::TestYoutubeDLNetworking::test_build_handler_params PASSED [ 52%] test/test_networking.py::TestYoutubeDLNetworking::test_client_certificate[ydl_params0] PASSED [ 52%] test/test_networking.py::TestYoutubeDLNetworking::test_client_certificate[ydl_params1] PASSED [ 53%] test/test_networking.py::TestYoutubeDLNetworking::test_client_certificate[ydl_params2] PASSED [ 53%] test/test_networking.py::TestYoutubeDLNetworking::test_client_certificate[ydl_params3] PASSED [ 53%] test/test_networking.py::TestYoutubeDLNetworking::test_urllib_file_urls PASSED [ 53%] test/test_networking.py::TestYoutubeDLNetworking::test_compat_opt_prefer_urllib PASSED [ 53%] test/test_networking.py::TestRequest::test_query PASSED [ 53%] test/test_networking.py::TestRequest::test_method PASSED [ 53%] test/test_networking.py::TestRequest::test_request_helpers PASSED [ 53%] test/test_networking.py::TestRequest::test_headers PASSED [ 53%] test/test_networking.py::TestRequest::test_data_type PASSED [ 53%] test/test_networking.py::TestRequest::test_content_length_header PASSED [ 54%] test/test_networking.py::TestRequest::test_content_type_header PASSED [ 54%] test/test_networking.py::TestRequest::test_update_req PASSED [ 54%] test/test_networking.py::TestRequest::test_proxies PASSED [ 54%] test/test_networking.py::TestRequest::test_extensions PASSED [ 54%] test/test_networking.py::TestRequest::test_copy PASSED [ 54%] test/test_networking.py::TestRequest::test_url PASSED [ 54%] test/test_networking.py::TestResponse::test_reason[custom-200-custom] PASSED [ 54%] test/test_networking.py::TestResponse::test_reason[None-404-Not Found] PASSED [ 54%] test/test_networking.py::TestResponse::test_reason[-403-Forbidden] PASSED [ 54%] test/test_networking.py::TestResponse::test_reason[None-999-None] PASSED [ 55%] test/test_networking.py::TestResponse::test_headers PASSED [ 55%] test/test_networking.py::TestResponse::test_get_header PASSED [ 55%] test/test_networking.py::TestResponse::test_compat PASSED [ 55%] test/test_networking.py::TestImpersonateTarget::test_target_from_str[abc-expected0] PASSED [ 55%] test/test_networking.py::TestImpersonateTarget::test_target_from_str[abc-120_esr-expected1] PASSED [ 55%] test/test_networking.py::TestImpersonateTarget::test_target_from_str[abc-120:xyz-expected2] PASSED [ 55%] test/test_networking.py::TestImpersonateTarget::test_target_from_str[abc-120:xyz-5.6-expected3] PASSED [ 55%] test/test_networking.py::TestImpersonateTarget::test_target_from_str[abc:xyz-expected4] PASSED [ 55%] test/test_networking.py::TestImpersonateTarget::test_target_from_str[abc:-expected5] PASSED [ 56%] test/test_networking.py::TestImpersonateTarget::test_target_from_str[abc-120:-expected6] PASSED [ 56%] test/test_networking.py::TestImpersonateTarget::test_target_from_str[:xyz-expected7] PASSED [ 56%] test/test_networking.py::TestImpersonateTarget::test_target_from_str[:xyz-6.5-expected8] PASSED [ 56%] test/test_networking.py::TestImpersonateTarget::test_target_from_str[:-expected9] PASSED [ 56%] test/test_networking.py::TestImpersonateTarget::test_target_from_str[-expected10] PASSED [ 56%] test/test_networking.py::TestImpersonateTarget::test_target_from_invalid_str[-120] PASSED [ 56%] test/test_networking.py::TestImpersonateTarget::test_target_from_invalid_str[:-12.0] PASSED [ 56%] test/test_networking.py::TestImpersonateTarget::test_target_from_invalid_str[-12:-12] PASSED [ 56%] test/test_networking.py::TestImpersonateTarget::test_target_from_invalid_str[-:-] PASSED [ 56%] test/test_networking.py::TestImpersonateTarget::test_target_from_invalid_str[::] PASSED [ 57%] test/test_networking.py::TestImpersonateTarget::test_target_from_invalid_str[a-c-d:] PASSED [ 57%] test/test_networking.py::TestImpersonateTarget::test_target_from_invalid_str[a-c-d:e-f-g] PASSED [ 57%] test/test_networking.py::TestImpersonateTarget::test_target_from_invalid_str[a:b:] PASSED [ 57%] test/test_networking.py::TestImpersonateTarget::test_str[target0-abc] PASSED [ 57%] test/test_networking.py::TestImpersonateTarget::test_str[target1-abc-120] PASSED [ 57%] test/test_networking.py::TestImpersonateTarget::test_str[target2-abc-120:xyz] PASSED [ 57%] test/test_networking.py::TestImpersonateTarget::test_str[target3-abc-120:xyz-5] PASSED [ 57%] test/test_networking.py::TestImpersonateTarget::test_str[target4-abc:xyz] PASSED [ 57%] test/test_networking.py::TestImpersonateTarget::test_str[target5-abc-120] PASSED [ 57%] test/test_networking.py::TestImpersonateTarget::test_str[target6-abc-120:xyz] PASSED [ 58%] test/test_networking.py::TestImpersonateTarget::test_str[target7-abc:xyz] PASSED [ 58%] test/test_networking.py::TestImpersonateTarget::test_str[target8-:xyz-6.5] PASSED [ 58%] test/test_networking.py::TestImpersonateTarget::test_str[target9-abc] PASSED [ 58%] test/test_networking.py::TestImpersonateTarget::test_str[target10-] PASSED [ 58%] test/test_networking.py::TestImpersonateTarget::test_invalid_impersonate_target[args0] PASSED [ 58%] test/test_networking.py::TestImpersonateTarget::test_invalid_impersonate_target[args1] PASSED [ 58%] test/test_networking.py::TestImpersonateTarget::test_invalid_impersonate_target[args2] PASSED [ 58%] test/test_networking.py::TestImpersonateTarget::test_invalid_impersonate_target[args3] PASSED [ 58%] test/test_networking.py::TestImpersonateTarget::test_invalid_impersonate_target[args4] PASSED [ 58%] test/test_networking.py::TestImpersonateTarget::test_invalid_impersonate_target[args5] PASSED [ 59%] test/test_networking.py::TestImpersonateTarget::test_impersonate_target_in[target10-target20-True-True] PASSED [ 59%] test/test_networking.py::TestImpersonateTarget::test_impersonate_target_in[target11-target21-True-False] PASSED [ 59%] test/test_networking.py::TestImpersonateTarget::test_impersonate_target_in[target12-target22-True-False] PASSED [ 59%] test/test_networking.py::TestImpersonateTarget::test_impersonate_target_in[target13-target23-False-False] PASSED [ 59%] test/test_networking.py::TestImpersonateTarget::test_impersonate_target_in[target14-target24-True-False] PASSED [ 59%] test/test_networking.py::TestImpersonateTarget::test_impersonate_target_in[target15-target25-True-False] PASSED [ 59%] test/test_networking.py::TestImpersonateTarget::test_impersonate_target_in[target16-target26-True-False] PASSED [ 59%] test/test_networking.py::TestImpersonateTarget::test_impersonate_target_in[target17-target27-True-True] PASSED [ 59%] test/test_networking_utils.py::TestNetworkingUtils::test_select_proxy PASSED [ 59%] test/test_networking_utils.py::TestNetworkingUtils::test_make_socks_proxy_opts[socks5h://example.com-expected0] PASSED [ 60%] test/test_networking_utils.py::TestNetworkingUtils::test_make_socks_proxy_opts[socks5://user:@example.com:5555-expected1] PASSED [ 60%] test/test_networking_utils.py::TestNetworkingUtils::test_make_socks_proxy_opts[socks4://u%40ser:pa%20ss@127.0.0.1:1080-expected2] PASSED [ 60%] test/test_networking_utils.py::TestNetworkingUtils::test_make_socks_proxy_opts[socks4a://:pa%20ss@127.0.0.1-expected3] PASSED [ 60%] test/test_networking_utils.py::TestNetworkingUtils::test_make_socks_proxy_unknown PASSED [ 60%] test/test_networking_utils.py::TestNetworkingUtils::test_load_certifi SKIPPED [ 60%] test/test_networking_utils.py::TestNetworkingUtils::test_get_redirect_method[GET-303-GET] PASSED [ 60%] test/test_networking_utils.py::TestNetworkingUtils::test_get_redirect_method[HEAD-303-HEAD] PASSED [ 60%] test/test_networking_utils.py::TestNetworkingUtils::test_get_redirect_method[PUT-303-GET] PASSED [ 60%] test/test_networking_utils.py::TestNetworkingUtils::test_get_redirect_method[POST-301-GET] PASSED [ 60%] test/test_networking_utils.py::TestNetworkingUtils::test_get_redirect_method[HEAD-301-HEAD] PASSED [ 61%] test/test_networking_utils.py::TestNetworkingUtils::test_get_redirect_method[POST-302-GET] PASSED [ 61%] test/test_networking_utils.py::TestNetworkingUtils::test_get_redirect_method[HEAD-302-HEAD] PASSED [ 61%] test/test_networking_utils.py::TestNetworkingUtils::test_get_redirect_method[PUT-302-PUT] PASSED [ 61%] test/test_networking_utils.py::TestNetworkingUtils::test_get_redirect_method[POST-308-POST] PASSED [ 61%] test/test_networking_utils.py::TestNetworkingUtils::test_get_redirect_method[POST-307-POST] PASSED [ 61%] test/test_networking_utils.py::TestNetworkingUtils::test_get_redirect_method[HEAD-308-HEAD] PASSED [ 61%] test/test_networking_utils.py::TestNetworkingUtils::test_get_redirect_method[HEAD-307-HEAD] PASSED [ 61%] test/test_networking_utils.py::TestNetworkingUtils::test_add_accept_encoding_header[headers0-supported_encodings0-expected0] PASSED [ 61%] test/test_networking_utils.py::TestNetworkingUtils::test_add_accept_encoding_header[headers1-supported_encodings1-expected1] PASSED [ 61%] test/test_networking_utils.py::TestNetworkingUtils::test_add_accept_encoding_header[headers2-supported_encodings2-expected2] PASSED [ 62%] test/test_networking_utils.py::TestInstanceStoreMixin::test_mixin PASSED [ 62%] test/test_networking_utils.py::TestNetworkingExceptions::test_http_error PASSED [ 62%] test/test_networking_utils.py::TestNetworkingExceptions::test_redirect_http_error PASSED [ 62%] test/test_networking_utils.py::TestNetworkingExceptions::test_incomplete_read_error PASSED [ 62%] test/test_plugins.py::TestPlugins::test_directories_containing_plugins PASSED [ 62%] test/test_plugins.py::TestPlugins::test_extractor_classes PASSED [ 62%] test/test_plugins.py::TestPlugins::test_importing_zipped_module PASSED [ 62%] test/test_plugins.py::TestPlugins::test_plugin_dirs PASSED [ 62%] test/test_plugins.py::TestPlugins::test_postprocessor_classes PASSED [ 62%] test/test_postprocessors.py::TestMetadataFromField::test_field_to_template PASSED [ 63%] test/test_postprocessors.py::TestMetadataFromField::test_format_to_regex PASSED [ 63%] test/test_postprocessors.py::TestMetadataFromField::test_metadatafromfield PASSED [ 63%] test/test_postprocessors.py::TestConvertThumbnail::test_escaping PASSED [ 63%] test/test_postprocessors.py::TestExec::test_parse_cmd PASSED [ 63%] test/test_postprocessors.py::TestModifyChaptersPP::test_make_concat_opts_CommonCase PASSED [ 63%] test/test_postprocessors.py::TestModifyChaptersPP::test_make_concat_opts_NoZeroDurationChunkAtVideoEnd PASSED [ 63%] test/test_postprocessors.py::TestModifyChaptersPP::test_make_concat_opts_NoZeroDurationChunkAtVideoStart PASSED [ 63%] test/test_postprocessors.py::TestModifyChaptersPP::test_quote_for_concat_QuotesAtEnd PASSED [ 63%] test/test_postprocessors.py::TestModifyChaptersPP::test_quote_for_concat_QuotesAtStart PASSED [ 63%] test/test_postprocessors.py::TestModifyChaptersPP::test_quote_for_concat_RunsOfQuotes PASSED [ 64%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_CanGetThroughUnaltered PASSED [ 64%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_ChapterWithAdjacentCuts PASSED [ 64%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_ChapterWithAdjacentSponsors PASSED [ 64%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_ChapterWithCutHidingSponsor PASSED [ 64%]Traceback (most recent call last): File "/usr/lib/python3.12/socketserver.py", line 692, in process_request_thread self.finish_request(request, client_address) File "/usr/lib/python3.12/socketserver.py", line 362, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.12/socketserver.py", line 761, in __init__ self.handle() File "/usr/lib/python3.12/http/server.py", line 436, in handle self.handle_one_request() File "/usr/lib/python3.12/http/server.py", line 424, in handle_one_request method() File "/home/buildozer/aports/community/yt-dlp/src/yt-dlp/test/test_networking.py", line 259, in do_GET self._headers() File "/home/buildozer/aports/community/yt-dlp/src/yt-dlp/test/test_networking.py", line 84, in _headers self.wfile.write(payload) test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_ChapterWithCuts File "/usr/lib/python3.12/socketserver.py", line 840, in write self._sock.sendall(b) BrokenPipeError: [Errno 32] Broken pipe ---------------------------------------- PASSED [ 64%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_ChapterWithOverlappingCuts PASSED [ 64%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_ChapterWithOverlappingSponsors PASSED [ 64%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_ChapterWithRunsOfOverlappingCuts PASSED [ 64%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_ChapterWithRunsOfOverlappingSponsors PASSED [ 64%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_ChapterWithRunsOfOverlappingSponsorsAndCuts PASSED [ 65%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_ChapterWithSponsorCutInTheMiddle PASSED [ 65%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_ChapterWithSponsors PASSED [ 65%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_ChapterWithSponsorsAndCuts PASSED [ 65%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_ChaptersAfterLastCut PASSED [ 65%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_ChaptersAfterLastSponsor PASSED [ 65%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_CutCoincidesWithChapters PASSED [ 65%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_CutEndsAtChapterEnd PASSED [ 65%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_CutOverlapsMultipleChapters PASSED [ 65%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_CutStartsAtChapterStart PASSED [ 65%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_CutsAtVideoBoundaries PASSED [ 66%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_CutsOverlapChaptersAtVideoBoundaries PASSED [ 66%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_CutsWithinSomeChaptersAndOverlappingOthers PASSED [ 66%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_EverythingCut PASSED [ 66%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_EverythingSponsored PASSED [ 66%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_OverlappingSponsorsDifferentTitlesAfterCut PASSED [ 66%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_SingleTinyChapterIsPreserved PASSED [ 66%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_SmallestSponsorInTheOverlapGetsNamed PASSED [ 66%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_SponsorBlockChapters PASSED [ 66%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_SponsorCoincidesWithChapters PASSED [ 67%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_SponsorEndsAtChapterEnd PASSED [ 67%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_SponsorOverlapsMultipleChapters PASSED [ 67%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_SponsorStartsAtChapterStart PASSED [ 67%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_SponsorsAtVideoBoundaries PASSED [ 67%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_SponsorsNoLongerOverlapAfterCut PASSED [ 67%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_SponsorsOverlapChaptersAtVideoBoundaries PASSED [ 67%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_SponsorsStillOverlapAfterCut PASSED [ 67%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_SponsorsWithinSomeChaptersAndOverlappingOthers PASSED [ 67%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_TinyChapterAtTheStartPrependedToTheNext PASSED [ 67%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_TinyChaptersInTheOriginalArePreserved PASSED [ 68%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_TinyChaptersResultingFromCutsAreIgnored PASSED [ 68%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_TinyChaptersResultingFromSponsorOverlapAreIgnored PASSED [ 68%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_TinySponsorsAreIgnored PASSED [ 68%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_TinySponsorsOverlapsAreIgnored PASSED [ 68%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_TinySponsorsPrependedToTheNextSponsor PASSED [ 68%] test/test_postprocessors.py::TestModifyChaptersPP::test_remove_marked_arrange_sponsors_UniqueNamesForOverlappingSponsors PASSED [ 68%] test/test_socks.py::TestSocks4Proxy::test_socks4_no_auth[Urllib-http] PASSED [ 68%] test/test_socks.py::TestSocks4Proxy::test_socks4_no_auth[Requests-http] PASSED [ 68%] test/test_socks.py::TestSocks4Proxy::test_socks4_no_auth[Websockets-ws] PASSED [ 68%] test/test_socks.py::TestSocks4Proxy::test_socks4_no_auth[CurlCFFI-http] SKIPPED [ 69%] test/test_socks.py::TestSocks4Proxy::test_socks4_auth[Urllib-http] PASSED [ 69%] test/test_socks.py::TestSocks4Proxy::test_socks4_auth[Requests-http] PASSED [ 69%] test/test_socks.py::TestSocks4Proxy::test_socks4_auth[Websockets-ws] FAILED [ 69%] test/test_socks.py::TestSocks4Proxy::test_socks4_auth[CurlCFFI-http] SKIPPED [ 69%] test/test_socks.py::TestSocks4Proxy::test_socks4a_ipv4_target[Urllib-http] PASSED [ 69%] test/test_socks.py::TestSocks4Proxy::test_socks4a_ipv4_target[Requests-http] PASSED [ 69%] test/test_socks.py::TestSocks4Proxy::test_socks4a_ipv4_target[Websockets-ws] PASSED [ 69%] test/test_socks.py::TestSocks4Proxy::test_socks4a_ipv4_target[CurlCFFI-http] SKIPPED [ 69%] test/test_socks.py::TestSocks4Proxy::test_socks4a_domain_target[Urllib-http] PASSED [ 69%] test/test_socks.py::TestSocks4Proxy::test_socks4a_domain_target[Requests-http] PASSED [ 70%] test/test_socks.py::TestSocks4Proxy::test_socks4a_domain_target[Websockets-ws] PASSED [ 70%] test/test_socks.py::TestSocks4Proxy::test_socks4a_domain_target[CurlCFFI-http] SKIPPED [ 70%] test/test_socks.py::TestSocks4Proxy::test_ipv4_client_source_address[Urllib-http] PASSED [ 70%] test/test_socks.py::TestSocks4Proxy::test_ipv4_client_source_address[Requests-http] PASSED [ 70%] test/test_socks.py::TestSocks4Proxy::test_ipv4_client_source_address[Websockets-ws] FAILED [ 70%] test/test_socks.py::TestSocks4Proxy::test_ipv4_client_source_address[CurlCFFI-http] SKIPPED [ 70%] test/test_socks.py::TestSocks4Proxy::test_socks4_errors[91-Urllib-http] PASSED [ 70%] test/test_socks.py::TestSocks4Proxy::test_socks4_errors[91-Requests-http] PASSED [ 70%] test/test_socks.py::TestSocks4Proxy::test_socks4_errors[91-Websockets-ws] PASSED [ 70%] test/test_socks.py::TestSocks4Proxy::test_socks4_errors[91-CurlCFFI-http] SKIPPED [ 71%] test/test_socks.py::TestSocks4Proxy::test_socks4_errors[92-Urllib-http] PASSED [ 71%] test/test_socks.py::TestSocks4Proxy::test_socks4_errors[92-Requests-http] PASSED [ 71%] test/test_socks.py::TestSocks4Proxy::test_socks4_errors[92-Websockets-ws] PASSED [ 71%] test/test_socks.py::TestSocks4Proxy::test_socks4_errors[92-CurlCFFI-http] SKIPPED [ 71%] test/test_socks.py::TestSocks4Proxy::test_socks4_errors[93-Urllib-http] PASSED [ 71%] test/test_socks.py::TestSocks4Proxy::test_socks4_errors[93-Requests-http] PASSED [ 71%] test/test_socks.py::TestSocks4Proxy::test_socks4_errors[93-Websockets-ws] PASSED [ 71%] test/test_socks.py::TestSocks4Proxy::test_socks4_errors[93-CurlCFFI-http] SKIPPED [ 71%] test/test_socks.py::TestSocks4Proxy::test_ipv6_socks4_proxy[Urllib-http] PASSED [ 71%] test/test_socks.py::TestSocks4Proxy::test_ipv6_socks4_proxy[Requests-http] PASSED [ 72%] test/test_socks.py::TestSocks4Proxy::test_ipv6_socks4_proxy[Websockets-ws] PASSED [ 72%] test/test_socks.py::TestSocks4Proxy::test_ipv6_socks4_proxy[CurlCFFI-http] SKIPPED [ 72%] test/test_socks.py::TestSocks4Proxy::test_timeout[Urllib-http] PASSED [ 72%] test/test_socks.py::TestSocks4Proxy::test_timeout[Requests-http] PASSED [ 72%] test/test_socks.py::TestSocks4Proxy::test_timeout[Websockets-ws] PASSED [ 72%] test/test_socks.py::TestSocks4Proxy::test_timeout[CurlCFFI-http] SKIPPED [ 72%] test/test_socks.py::TestSocks5Proxy::test_socks5_no_auth[Urllib-http] PASSED [ 72%] test/test_socks.py::TestSocks5Proxy::test_socks5_no_auth[Requests-http] PASSED [ 72%] test/test_socks.py::TestSocks5Proxy::test_socks5_no_auth[Websockets-ws] FAILED [ 72%] test/test_socks.py::TestSocks5Proxy::test_socks5_no_auth[CurlCFFI-http] SKIPPED [ 73%] test/test_socks.py::TestSocks5Proxy::test_socks5_user_pass[Urllib-http] PASSED [ 73%] test/test_socks.py::TestSocks5Proxy::test_socks5_user_pass[Requests-http] PASSED [ 73%] test/test_socks.py::TestSocks5Proxy::test_socks5_user_pass[Websockets-ws] FAILED [ 73%] test/test_socks.py::TestSocks5Proxy::test_socks5_user_pass[CurlCFFI-http] SKIPPED [ 73%] test/test_socks.py::TestSocks5Proxy::test_socks5_ipv4_target[Urllib-http] PASSED [ 73%] test/test_socks.py::TestSocks5Proxy::test_socks5_ipv4_target[Requests-http] PASSED [ 73%] test/test_socks.py::TestSocks5Proxy::test_socks5_ipv4_target[Websockets-ws] PASSED [ 73%] test/test_socks.py::TestSocks5Proxy::test_socks5_ipv4_target[CurlCFFI-http] SKIPPED [ 73%] test/test_socks.py::TestSocks5Proxy::test_socks5_domain_target[Urllib-http] PASSED [ 73%] test/test_socks.py::TestSocks5Proxy::test_socks5_domain_target[Requests-http] PASSED [ 74%] test/test_socks.py::TestSocks5Proxy::test_socks5_domain_target[Websockets-ws] FAILED [ 74%] test/test_socks.py::TestSocks5Proxy::test_socks5_domain_target[CurlCFFI-http] SKIPPED [ 74%] test/test_socks.py::TestSocks5Proxy::test_socks5h_domain_target[Urllib-http] PASSED [ 74%] test/test_socks.py::TestSocks5Proxy::test_socks5h_domain_target[Requests-http] PASSED [ 74%] test/test_socks.py::TestSocks5Proxy::test_socks5h_domain_target[Websockets-ws] PASSED [ 74%] test/test_socks.py::TestSocks5Proxy::test_socks5h_domain_target[CurlCFFI-http] SKIPPED [ 74%] test/test_socks.py::TestSocks5Proxy::test_socks5h_ip_target[Urllib-http] PASSED [ 74%] test/test_socks.py::TestSocks5Proxy::test_socks5h_ip_target[Requests-http] PASSED [ 74%] test/test_socks.py::TestSocks5Proxy::test_socks5h_ip_target[Websockets-ws] FAILED [ 74%] test/test_socks.py::TestSocks5Proxy::test_socks5h_ip_target[CurlCFFI-http] SKIPPED [ 75%] test/test_socks.py::TestSocks5Proxy::test_socks5_ipv6_destination[Urllib-http] PASSED [ 75%] test/test_socks.py::TestSocks5Proxy::test_socks5_ipv6_destination[Requests-http] PASSED [ 75%] test/test_socks.py::TestSocks5Proxy::test_socks5_ipv6_destination[Websockets-ws] PASSED [ 75%] test/test_socks.py::TestSocks5Proxy::test_socks5_ipv6_destination[CurlCFFI-http] SKIPPED [ 75%] test/test_socks.py::TestSocks5Proxy::test_ipv6_socks5_proxy[Urllib-http] PASSED [ 75%] test/test_socks.py::TestSocks5Proxy::test_ipv6_socks5_proxy[Requests-http] PASSED [ 75%] test/test_socks.py::TestSocks5Proxy::test_ipv6_socks5_proxy[Websockets-ws] PASSED [ 75%] test/test_socks.py::TestSocks5Proxy::test_ipv6_socks5_proxy[CurlCFFI-http] SKIPPED [ 75%] test/test_socks.py::TestSocks5Proxy::test_ipv4_client_source_address[Urllib-http] PASSED [ 75%] test/test_socks.py::TestSocks5Proxy::test_ipv4_client_source_address[Requests-http] PASSED [ 76%] test/test_socks.py::TestSocks5Proxy::test_ipv4_client_source_address[Websockets-ws] PASSED [ 76%] test/test_socks.py::TestSocks5Proxy::test_ipv4_client_source_address[CurlCFFI-http] SKIPPED [ 76%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[1-Urllib-http] PASSED [ 76%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[1-Requests-http] PASSED [ 76%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[1-Websockets-ws] PASSED [ 76%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[1-CurlCFFI-http] SKIPPED [ 76%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[2-Urllib-http] PASSED [ 76%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[2-Requests-http] PASSED [ 76%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[2-Websockets-ws] PASSED [ 76%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[2-CurlCFFI-http] SKIPPED [ 77%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[3-Urllib-http] PASSED [ 77%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[3-Requests-http] PASSED [ 77%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[3-Websockets-ws] PASSED [ 77%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[3-CurlCFFI-http] SKIPPED [ 77%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[4-Urllib-http] PASSED [ 77%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[4-Requests-http] PASSED [ 77%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[4-Websockets-ws] PASSED [ 77%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[4-CurlCFFI-http] SKIPPED [ 77%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[5-Urllib-http] PASSED [ 78%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[5-Requests-http] PASSED [ 78%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[5-Websockets-ws] PASSED [ 78%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[5-CurlCFFI-http] SKIPPED [ 78%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[6-Urllib-http] PASSED [ 78%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[6-Requests-http] PASSED [ 78%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[6-Websockets-ws] PASSED [ 78%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[6-CurlCFFI-http] SKIPPED [ 78%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[7-Urllib-http] PASSED [ 78%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[7-Requests-http] PASSED [ 78%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[7-Websockets-ws] PASSED [ 79%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[7-CurlCFFI-http] SKIPPED [ 79%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[8-Urllib-http] PASSED [ 79%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[8-Requests-http] PASSED [ 79%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[8-Websockets-ws] PASSED [ 79%] test/test_socks.py::TestSocks5Proxy::test_socks5_errors[8-CurlCFFI-http] SKIPPED [ 79%] test/test_socks.py::TestSocks5Proxy::test_timeout[Urllib-http] PASSED [ 79%] test/test_socks.py::TestSocks5Proxy::test_timeout[Requests-http] PASSED [ 79%] test/test_socks.py::TestSocks5Proxy::test_timeout[Websockets-ws] PASSED [ 79%] test/test_socks.py::TestSocks5Proxy::test_timeout[CurlCFFI-http] SKIPPED [ 79%] test/test_traversal.py::TestTraversal::test_traversal_base PASSED [ 80%] test/test_traversal.py::TestTraversal::test_traversal_ellipsis PASSED [ 80%] test/test_traversal.py::TestTraversal::test_traversal_function PASSED [ 80%] test/test_traversal.py::TestTraversal::test_traversal_set PASSED [ 80%] test/test_traversal.py::TestTraversal::test_traversal_slice PASSED [ 80%] test/test_traversal.py::TestTraversal::test_traversal_alternatives PASSED [ 80%] test/test_traversal.py::TestTraversal::test_traversal_branching_nesting PASSED [ 80%] test/test_traversal.py::TestTraversal::test_traversal_dict PASSED [ 80%] test/test_traversal.py::TestTraversal::test_traversal_default PASSED [ 80%] test/test_traversal.py::TestTraversal::test_traversal_branching[path0] PASSED [ 80%] test/test_traversal.py::TestTraversal::test_traversal_branching[path1] PASSED [ 81%] test/test_traversal.py::TestTraversal::test_traversal_branching[path2] PASSED [ 81%] test/test_traversal.py::TestTraversal::test_traversal_branching[path3] PASSED [ 81%] test/test_traversal.py::TestTraversal::test_traversal_expected_type PASSED [ 81%] test/test_traversal.py::TestTraversal::test_traversal_get_all PASSED [ 81%] test/test_traversal.py::TestTraversal::test_traversal_casesense PASSED [ 81%] test/test_traversal.py::TestTraversal::test_traversal_traverse_string PASSED [ 81%] test/test_traversal.py::TestTraversal::test_traversal_re PASSED [ 81%] test/test_traversal.py::TestTraversal::test_traversal_xml_etree PASSED [ 81%] test/test_traversal.py::TestTraversal::test_traversal_unbranching PASSED [ 81%] test/test_traversal.py::TestTraversal::test_traversal_morsel PASSED [ 82%] test/test_traversal.py::TestTraversal::test_traversal_filter PASSED [ 82%] test/test_traversal.py::TestTraversalHelpers::test_traversal_require PASSED [ 82%] test/test_traversal.py::TestTraversalHelpers::test_subs_list_to_dict PASSED [ 82%] test/test_traversal.py::TestTraversalHelpers::test_trim_str PASSED [ 82%] test/test_traversal.py::TestTraversalHelpers::test_unpack PASSED [ 82%] test/test_traversal.py::TestTraversalHelpers::test_find_element PASSED [ 82%] test/test_traversal.py::TestTraversalHelpers::test_find_elements PASSED [ 82%] test/test_traversal.py::TestDictGet::test_dict_get PASSED [ 82%] test/test_update.py::TestUpdate::test_query_update PASSED [ 82%] test/test_update.py::TestUpdate::test_update_spec PASSED [ 83%] test/test_utils.py::TestUtil::test_LazyList PASSED [ 83%] test/test_utils.py::TestUtil::test_LazyList_laziness PASSED [ 83%] test/test_utils.py::TestUtil::test_age_restricted PASSED [ 83%] test/test_utils.py::TestUtil::test_args_to_str PASSED [ 83%] test/test_utils.py::TestUtil::test_base_url PASSED [ 83%] test/test_utils.py::TestUtil::test_caesar PASSED [ 83%] test/test_utils.py::TestUtil::test_clean_html PASSED [ 83%] test/test_utils.py::TestUtil::test_clean_podcast_url PASSED [ 83%] test/test_utils.py::TestUtil::test_cli_bool_option PASSED [ 83%] test/test_utils.py::TestUtil::test_cli_option PASSED [ 84%] test/test_utils.py::TestUtil::test_cli_valueless_option PASSED [ 84%] test/test_utils.py::TestUtil::test_date_from_str PASSED [ 84%] test/test_utils.py::TestUtil::test_daterange PASSED [ 84%] test/test_utils.py::TestUtil::test_datetime_from_str PASSED [ 84%] test/test_utils.py::TestUtil::test_detect_exe_version PASSED [ 84%] test/test_utils.py::TestUtil::test_determine_ext PASSED [ 84%] test/test_utils.py::TestUtil::test_determine_file_encoding PASSED [ 84%] test/test_utils.py::TestUtil::test_dfxp2srt PASSED [ 84%] test/test_utils.py::TestUtil::test_encode_base_n PASSED [ 84%] test/test_utils.py::TestUtil::test_encode_compat_str PASSED [ 85%] test/test_utils.py::TestUtil::test_escape_rfc3986 PASSED [ 85%] test/test_utils.py::TestUtil::test_expand_path PASSED [ 85%] test/test_utils.py::TestUtil::test_extract_attributes PASSED [ 85%] test/test_utils.py::TestUtil::test_extract_basic_auth PASSED [ 85%] test/test_utils.py::TestUtil::test_find_xpath_attr PASSED [ 85%] test/test_utils.py::TestUtil::test_fix_xml_ampersands PASSED [ 85%] test/test_utils.py::TestUtil::test_float_or_none PASSED [ 85%] test/test_utils.py::TestUtil::test_format_bytes PASSED [ 85%] test/test_utils.py::TestUtil::test_get_compatible_ext PASSED [ 85%] test/test_utils.py::TestUtil::test_get_element_by_attribute PASSED [ 86%] test/test_utils.py::TestUtil::test_get_element_by_class PASSED [ 86%] test/test_utils.py::TestUtil::test_get_element_html_by_attribute PASSED [ 86%] test/test_utils.py::TestUtil::test_get_element_html_by_class PASSED [ 86%] test/test_utils.py::TestUtil::test_get_element_text_and_html_by_tag PASSED [ 86%] test/test_utils.py::TestUtil::test_get_elements_by_attribute PASSED [ 86%] test/test_utils.py::TestUtil::test_get_elements_by_class PASSED [ 86%] test/test_utils.py::TestUtil::test_get_elements_html_by_attribute PASSED [ 86%] test/test_utils.py::TestUtil::test_get_elements_html_by_class PASSED [ 86%] test/test_utils.py::TestUtil::test_get_elements_text_and_html_by_attribute PASSED [ 86%] test/test_utils.py::TestUtil::test_hide_login_info PASSED [ 87%] test/test_utils.py::TestUtil::test_http_header_dict PASSED [ 87%] test/test_utils.py::TestUtil::test_int_or_none PASSED [ 87%] test/test_utils.py::TestUtil::test_intlist_to_bytes PASSED [ 87%] test/test_utils.py::TestUtil::test_iri_to_uri PASSED [ 87%] test/test_utils.py::TestUtil::test_is_html PASSED [ 87%] test/test_utils.py::TestUtil::test_js_to_json_common_constructors PASSED [ 87%] test/test_utils.py::TestUtil::test_js_to_json_edgecases PASSED [ 87%] test/test_utils.py::TestUtil::test_js_to_json_malformed PASSED [ 87%] test/test_utils.py::TestUtil::test_js_to_json_realworld PASSED [ 87%] test/test_utils.py::TestUtil::test_js_to_json_template_literal PASSED [ 88%] test/test_utils.py::TestUtil::test_js_to_json_vars_strings PASSED [ 88%] test/test_utils.py::TestUtil::test_limit_length PASSED [ 88%] test/test_utils.py::TestUtil::test_locked_file PASSED [ 88%] test/test_utils.py::TestUtil::test_lowercase_escape PASSED [ 88%] test/test_utils.py::TestUtil::test_match_str PASSED [ 88%] test/test_utils.py::TestUtil::test_merge_dicts PASSED [ 88%] test/test_utils.py::TestUtil::test_mimetype2ext PASSED [ 88%] test/test_utils.py::TestUtil::test_month_by_name PASSED [ 88%] test/test_utils.py::TestUtil::test_multipart_encode PASSED [ 89%] test/test_utils.py::TestUtil::test_normalize_url PASSED [ 89%] test/test_utils.py::TestUtil::test_ohdave_rsa_encrypt PASSED [ 89%] test/test_utils.py::TestUtil::test_ordered_set PASSED [ 89%] test/test_utils.py::TestUtil::test_paged_list PASSED [ 89%] test/test_utils.py::TestUtil::test_parse_age_limit PASSED [ 89%] test/test_utils.py::TestUtil::test_parse_bitrate PASSED [ 89%] test/test_utils.py::TestUtil::test_parse_codecs PASSED [ 89%] test/test_utils.py::TestUtil::test_parse_count PASSED [ 89%] test/test_utils.py::TestUtil::test_parse_dfxp_time_expr PASSED [ 89%] test/test_utils.py::TestUtil::test_parse_duration PASSED [ 90%] test/test_utils.py::TestUtil::test_parse_filesize PASSED [ 90%] test/test_utils.py::TestUtil::test_parse_iso8601 PASSED [ 90%] test/test_utils.py::TestUtil::test_parse_resolution PASSED [ 90%] test/test_utils.py::TestUtil::test_partial_application PASSED [ 90%] test/test_utils.py::TestUtil::test_pkcs1pad PASSED [ 90%] test/test_utils.py::TestUtil::test_prepend_extension PASSED [ 90%] test/test_utils.py::TestUtil::test_read_batch_urls PASSED [ 90%] test/test_utils.py::TestUtil::test_remove_dot_segments PASSED [ 90%] test/test_utils.py::TestUtil::test_remove_end PASSED [ 90%] test/test_utils.py::TestUtil::test_remove_quotes PASSED [ 91%] test/test_utils.py::TestUtil::test_remove_start PASSED [ 91%] test/test_utils.py::TestUtil::test_render_table PASSED [ 91%] test/test_utils.py::TestUtil::test_replace_extension PASSED [ 91%] test/test_utils.py::TestUtil::test_rot47 PASSED [ 91%] test/test_utils.py::TestUtil::test_sanitize_filename PASSED [ 91%] test/test_utils.py::TestUtil::test_sanitize_filename_restricted PASSED [ 91%] test/test_utils.py::TestUtil::test_sanitize_ids PASSED [ 91%] test/test_utils.py::TestUtil::test_sanitize_path PASSED [ 91%] test/test_utils.py::TestUtil::test_sanitize_url PASSED [ 91%] test/test_utils.py::TestUtil::test_shell_quote PASSED [ 92%] test/test_utils.py::TestUtil::test_smuggle_url PASSED [ 92%] test/test_utils.py::TestUtil::test_str_to_int PASSED [ 92%] test/test_utils.py::TestUtil::test_strip_jsonp PASSED [ 92%] test/test_utils.py::TestUtil::test_strip_or_none PASSED [ 92%] test/test_utils.py::TestUtil::test_subtitles_filename PASSED [ 92%] test/test_utils.py::TestUtil::test_timeconvert PASSED [ 92%] test/test_utils.py::TestUtil::test_try_call PASSED [ 92%] test/test_utils.py::TestUtil::test_unescape_html PASSED [ 92%] test/test_utils.py::TestUtil::test_unified_dates PASSED [ 92%] test/test_utils.py::TestUtil::test_unified_timestamps PASSED [ 93%] test/test_utils.py::TestUtil::test_update_url_query PASSED [ 93%] test/test_utils.py::TestUtil::test_uppercase_escape PASSED [ 93%] test/test_utils.py::TestUtil::test_url_basename PASSED [ 93%] test/test_utils.py::TestUtil::test_url_or_none PASSED [ 93%] test/test_utils.py::TestUtil::test_urlencode_postdata PASSED [ 93%] test/test_utils.py::TestUtil::test_urljoin PASSED [ 93%] test/test_utils.py::TestUtil::test_urshift PASSED [ 93%] test/test_utils.py::TestUtil::test_variadic PASSED [ 93%] test/test_utils.py::TestUtil::test_version_tuple PASSED [ 93%] test/test_utils.py::TestUtil::test_windows_escaping SKIPPED (Only re...) [ 94%] test/test_utils.py::TestUtil::test_xpath_attr PASSED [ 94%] test/test_utils.py::TestUtil::test_xpath_element PASSED [ 94%] test/test_utils.py::TestUtil::test_xpath_text PASSED [ 94%] test/test_utils.py::TestUtil::test_xpath_with_ns PASSED [ 94%] test/test_verbose_output.py::TestVerboseOutput::test_private_info_arg PASSED [ 94%] test/test_verbose_output.py::TestVerboseOutput::test_private_info_eq PASSED [ 94%] test/test_verbose_output.py::TestVerboseOutput::test_private_info_shortarg PASSED [ 94%] test/test_verbose_output.py::TestVerboseOutput::test_private_info_shortarg_eq PASSED [ 94%] test/test_websockets.py::TestWebsSocketRequestHandlerConformance::test_basic_websockets[Websockets] PASSED [ 94%] test/test_websockets.py::TestWebsSocketRequestHandlerConformance::test_send_types[str-1-Websockets] PASSED [ 95%] test/test_websockets.py::TestWebsSocketRequestHandlerConformance::test_send_types[bytes-2-Websockets] PASSED [ 95%] test/test_websockets.py::TestWebsSocketRequestHandlerConformance::test_ssl_error[Websockets] PASSED [ 95%] test/test_websockets.py::TestWebsSocketRequestHandlerConformance::test_legacy_ssl_extension[Websockets] PASSED [ 95%] test/test_websockets.py::TestWebsSocketRequestHandlerConformance::test_legacy_ssl_support[Websockets] PASSED [ 95%] test/test_websockets.py::TestWebsSocketRequestHandlerConformance::test_percent_encode[/\u4e2d\u6587-/%E4%B8%AD%E6%96%87-Websockets] PASSED [ 95%] test/test_websockets.py::TestWebsSocketRequestHandlerConformance::test_percent_encode[/%c7%9f-/%c7%9f-Websockets] PASSED [ 95%] test/test_websockets.py::TestWebsSocketRequestHandlerConformance::test_remove_dot_segments[Websockets] PASSED [ 95%] test/test_websockets.py::TestWebsSocketRequestHandlerConformance::test_raise_http_error[200-Websockets] PASSED [ 95%] test/test_websockets.py::TestWebsSocketRequestHandlerConformance::test_raise_http_error[204-Websockets] PASSED [ 95%] test/test_websockets.py::TestWebsSocketRequestHandlerConformance::test_raise_http_error[301-Websockets] PASSED [ 96%] test/test_websockets.py::TestWebsSocketRequestHandlerConformance::test_raise_http_error[302-Websockets] PASSED [ 96%] test/test_websockets.py::TestWebsSocketRequestHandlerConformance::test_raise_http_error[303-Websockets] PASSED [ 96%] test/test_websockets.py::TestWebsSocketRequestHandlerConformance::test_raise_http_error[400-Websockets] PASSED [ 96%] test/test_websockets.py::TestWebsSocketRequestHandlerConformance::test_raise_http_error[500-Websockets] PASSED [ 96%] test/test_websockets.py::TestWebsSocketRequestHandlerConformance::test_raise_http_error[511-Websockets] PASSED [ 96%] test/test_websockets.py::TestWebsSocketRequestHandlerConformance::test_read_timeout[params0-extensions0-Websockets] PASSED [ 96%] test/test_websockets.py::TestWebsSocketRequestHandlerConformance::test_read_timeout[params1-extensions1-Websockets] PASSED [ 96%] test/test_websockets.py::TestWebsSocketRequestHandlerConformance::test_connect_timeout[Websockets] PASSED [ 96%] test/test_websockets.py::TestWebsSocketRequestHandlerConformance::test_cookies[Websockets] PASSED [ 96%] test/test_websockets.py::TestWebsSocketRequestHandlerConformance::test_cookie_sync_only_cookiejar[Websockets] SKIPPED [ 97%] test/test_websockets.py::TestWebsSocketRequestHandlerConformance::test_cookie_sync_delete_cookie[Websockets] SKIPPED [ 97%] test/test_websockets.py::TestWebsSocketRequestHandlerConformance::test_source_address[Websockets] PASSED [ 97%] test/test_websockets.py::TestWebsSocketRequestHandlerConformance::test_response_url[Websockets] PASSED [ 97%] test/test_websockets.py::TestWebsSocketRequestHandlerConformance::test_request_headers[Websockets] PASSED [ 97%] test/test_websockets.py::TestWebsSocketRequestHandlerConformance::test_request_disable_proxy[Websockets] PASSED [ 97%] test/test_websockets.py::TestWebsSocketRequestHandlerConformance::test_noproxy[Websockets] PASSED [ 97%] test/test_websockets.py::TestWebsSocketRequestHandlerConformance::test_allproxy[Websockets] PASSED [ 97%] test/test_websockets.py::TestWebsocketsRequestHandler::test_request_error_mapping[-RequestError-Websockets] PASSED [ 97%] test/test_websockets.py::TestWebsocketsRequestHandler::test_request_error_mapping[-TransportError0-Websockets] PASSED [ 97%] test/test_websockets.py::TestWebsocketsRequestHandler::test_request_error_mapping[-TransportError1-Websockets] PASSED [ 98%] test/test_websockets.py::TestWebsocketsRequestHandler::test_request_error_mapping[-TransportError2-Websockets] PASSED [ 98%] test/test_websockets.py::TestWebsocketsRequestHandler::test_request_error_mapping[-TransportError3-Websockets] PASSED [ 98%] test/test_websockets.py::TestWebsocketsRequestHandler::test_request_error_mapping[-TransportError4-Websockets] PASSED [ 98%] test/test_websockets.py::TestWebsocketsRequestHandler::test_request_error_mapping[-TransportError5-Websockets] PASSED [ 98%] test/test_websockets.py::TestWebsocketsRequestHandler::test_request_error_mapping[-SSLError-Websockets] PASSED [ 98%] test/test_websockets.py::TestWebsocketsRequestHandler::test_request_error_mapping[-CertificateVerifyError-Websockets] PASSED [ 98%] test/test_websockets.py::TestWebsocketsRequestHandler::test_request_error_mapping[-ProxyError-Websockets] PASSED [ 98%] test/test_websockets.py::TestWebsocketsRequestHandler::test_ws_send_error_mapping[-TransportError-None0-Websockets] PASSED [ 98%] test/test_websockets.py::TestWebsocketsRequestHandler::test_ws_send_error_mapping[-TransportError-None1-Websockets] PASSED [ 98%] test/test_websockets.py::TestWebsocketsRequestHandler::test_ws_send_error_mapping[-TransportError-None2-Websockets] PASSED [ 99%] test/test_websockets.py::TestWebsocketsRequestHandler::test_ws_send_error_mapping[-RequestError-None-Websockets] PASSED [ 99%] test/test_websockets.py::TestWebsocketsRequestHandler::test_ws_send_error_mapping[-ProxyError-None-Websockets] PASSED [ 99%] test/test_websockets.py::TestWebsocketsRequestHandler::test_ws_send_error_mapping[-TransportError-None3-Websockets] PASSED [ 99%] test/test_websockets.py::TestWebsocketsRequestHandler::test_ws_recv_error_mapping[-TransportError-None0-Websockets] PASSED [ 99%] test/test_websockets.py::TestWebsocketsRequestHandler::test_ws_recv_error_mapping[-TransportError-None1-Websockets] PASSED [ 99%] test/test_websockets.py::TestWebsocketsRequestHandler::test_ws_recv_error_mapping[-TransportError-None2-Websockets] PASSED [ 99%] test/test_websockets.py::TestWebsocketsRequestHandler::test_ws_recv_error_mapping[-ProxyError-None-Websockets] PASSED [ 99%] test/test_websockets.py::TestWebsocketsRequestHandler::test_ws_recv_error_mapping[-TransportError-None3-Websockets] PASSED [ 99%] test/test_youtube_misc.py::TestYoutubeMisc::test_youtube_extract PASSED [100%] =================================== FAILURES =================================== _______________ TestSocks4Proxy.test_socks4_auth[Websockets-ws] ________________ TimeoutError: timed out while closing connection The above exception was the direct cause of the following exception: self = message = 'socks_info' def send(self, message): # https://websockets.readthedocs.io/en/stable/reference/sync/client.html#websockets.sync.client.ClientConnection.send try: > return self._ws.send(message) yt_dlp/networking/_websockets.py:72: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/websockets/sync/connection.py:412: in send with self.send_context(): /usr/lib/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = @contextlib.contextmanager def send_context( self, *, expected_state: State = OPEN, # CONNECTING during the opening handshake ) -> Iterator[None]: """ Create a context for writing to the connection from user code. On entry, :meth:`send_context` acquires the connection lock and checks that the connection is open; on exit, it writes outgoing data to the socket:: with self.send_context(): self.protocol.send_text(message.encode()) When the connection isn't open on entry, when the connection is expected to close on exit, or when an unexpected error happens, terminating the connection, :meth:`send_context` waits until the connection is closed then raises :exc:`~websockets.exceptions.ConnectionClosed`. """ # Should we wait until the connection is closed? wait_for_close = False # Should we close the socket and raise ConnectionClosed? raise_close_exc = False # What exception should we chain ConnectionClosed to? original_exc: BaseException | None = None # Acquire the protocol lock. with self.protocol_mutex: if self.protocol.state is expected_state: # Let the caller interact with the protocol. try: yield except (ProtocolError, ConcurrencyError): # The protocol state wasn't changed. Exit immediately. raise except Exception as exc: self.logger.error("unexpected internal error", exc_info=True) # This branch should never run. It's a safety net in case of # bugs. Since we don't know what happened, we will close the # connection and raise the exception to the caller. wait_for_close = False raise_close_exc = True original_exc = exc else: # Check if the connection is expected to close soon. if self.protocol.close_expected(): wait_for_close = True # If the connection is expected to close soon, set the # close deadline based on the close timeout. # Since we tested earlier that protocol.state was OPEN # (or CONNECTING) and we didn't release protocol_mutex, # it is certain that self.close_deadline is still None. assert self.close_deadline is None self.close_deadline = Deadline(self.close_timeout) # Write outgoing data to the socket. try: self.send_data() except Exception as exc: if self.debug: self.logger.debug( "! error while sending data", exc_info=True, ) # While the only expected exception here is OSError, # other exceptions would be treated identically. wait_for_close = False raise_close_exc = True original_exc = exc else: # self.protocol.state is not expected_state # Minor layering violation: we assume that the connection # will be closing soon if it isn't in the expected state. wait_for_close = True raise_close_exc = True # To avoid a deadlock, release the connection lock by exiting the # context manager before waiting for recv_events() to terminate. # If the connection is expected to close soon and the close timeout # elapses, close the socket to terminate the connection. if wait_for_close: if self.close_deadline is None: timeout = self.close_timeout else: # Thread.join() returns immediately if timeout is negative. timeout = self.close_deadline.timeout(raise_if_elapsed=False) self.recv_events_thread.join(timeout) if self.recv_events_thread.is_alive(): # There's no risk to overwrite another error because # original_exc is never set when wait_for_close is True. assert original_exc is None original_exc = TimeoutError("timed out while closing connection") # Set recv_exc before closing the socket in order to get # proper exception reporting. raise_close_exc = True with self.protocol_mutex: self.set_recv_exc(original_exc) # If an error occurred, close the socket to terminate the connection and # raise an exception. if raise_close_exc: self.close_socket() # Wait for the protocol state to be CLOSED before accessing close_exc. self.recv_events_thread.join() > raise self.protocol.close_exc from original_exc E websockets.exceptions.ConnectionClosedError: no close frame received or sent /usr/lib/python3.12/site-packages/websockets/sync/connection.py:875: ConnectionClosedError The above exception was the direct cause of the following exception: self = handler = .HandlerWrapper'> ctx = def test_socks4_auth(self, handler, ctx): with handler() as rh: with ctx.socks_server(Socks4ProxyHandler, user_id='user') as server_address: with pytest.raises(ProxyError): ctx.socks_info_request(rh, proxies={'all': f'socks4://{server_address}'}) > response = ctx.socks_info_request( rh, proxies={'all': f'socks4://user:@{server_address}'}) test/test_socks.py:309: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/test_socks.py:272: in socks_info_request ws.send('socks_info') _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = message = 'socks_info' def send(self, message): # https://websockets.readthedocs.io/en/stable/reference/sync/client.html#websockets.sync.client.ClientConnection.send try: return self._ws.send(message) except (websockets.exceptions.WebSocketException, RuntimeError, TimeoutError) as e: > raise TransportError(cause=e) from e E yt_dlp.networking.exceptions.TransportError: no close frame received or sent yt_dlp/networking/_websockets.py:74: TransportError ________ TestSocks4Proxy.test_ipv4_client_source_address[Websockets-ws] ________ TimeoutError: timed out while closing connection The above exception was the direct cause of the following exception: self = message = 'socks_info' def send(self, message): # https://websockets.readthedocs.io/en/stable/reference/sync/client.html#websockets.sync.client.ClientConnection.send try: > return self._ws.send(message) yt_dlp/networking/_websockets.py:72: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/websockets/sync/connection.py:412: in send with self.send_context(): /usr/lib/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = @contextlib.contextmanager def send_context( self, *, expected_state: State = OPEN, # CONNECTING during the opening handshake ) -> Iterator[None]: """ Create a context for writing to the connection from user code. On entry, :meth:`send_context` acquires the connection lock and checks that the connection is open; on exit, it writes outgoing data to the socket:: with self.send_context(): self.protocol.send_text(message.encode()) When the connection isn't open on entry, when the connection is expected to close on exit, or when an unexpected error happens, terminating the connection, :meth:`send_context` waits until the connection is closed then raises :exc:`~websockets.exceptions.ConnectionClosed`. """ # Should we wait until the connection is closed? wait_for_close = False # Should we close the socket and raise ConnectionClosed? raise_close_exc = False # What exception should we chain ConnectionClosed to? original_exc: BaseException | None = None # Acquire the protocol lock. with self.protocol_mutex: if self.protocol.state is expected_state: # Let the caller interact with the protocol. try: yield except (ProtocolError, ConcurrencyError): # The protocol state wasn't changed. Exit immediately. raise except Exception as exc: self.logger.error("unexpected internal error", exc_info=True) # This branch should never run. It's a safety net in case of # bugs. Since we don't know what happened, we will close the # connection and raise the exception to the caller. wait_for_close = False raise_close_exc = True original_exc = exc else: # Check if the connection is expected to close soon. if self.protocol.close_expected(): wait_for_close = True # If the connection is expected to close soon, set the # close deadline based on the close timeout. # Since we tested earlier that protocol.state was OPEN # (or CONNECTING) and we didn't release protocol_mutex, # it is certain that self.close_deadline is still None. assert self.close_deadline is None self.close_deadline = Deadline(self.close_timeout) # Write outgoing data to the socket. try: self.send_data() except Exception as exc: if self.debug: self.logger.debug( "! error while sending data", exc_info=True, ) # While the only expected exception here is OSError, # other exceptions would be treated identically. wait_for_close = False raise_close_exc = True original_exc = exc else: # self.protocol.state is not expected_state # Minor layering violation: we assume that the connection # will be closing soon if it isn't in the expected state. wait_for_close = True raise_close_exc = True # To avoid a deadlock, release the connection lock by exiting the # context manager before waiting for recv_events() to terminate. # If the connection is expected to close soon and the close timeout # elapses, close the socket to terminate the connection. if wait_for_close: if self.close_deadline is None: timeout = self.close_timeout else: # Thread.join() returns immediately if timeout is negative. timeout = self.close_deadline.timeout(raise_if_elapsed=False) self.recv_events_thread.join(timeout) if self.recv_events_thread.is_alive(): # There's no risk to overwrite another error because # original_exc is never set when wait_for_close is True. assert original_exc is None original_exc = TimeoutError("timed out while closing connection") # Set recv_exc before closing the socket in order to get # proper exception reporting. raise_close_exc = True with self.protocol_mutex: self.set_recv_exc(original_exc) # If an error occurred, close the socket to terminate the connection and # raise an exception. if raise_close_exc: self.close_socket() # Wait for the protocol state to be CLOSED before accessing close_exc. self.recv_events_thread.join() > raise self.protocol.close_exc from original_exc E websockets.exceptions.ConnectionClosedError: no close frame received or sent /usr/lib/python3.12/site-packages/websockets/sync/connection.py:875: ConnectionClosedError The above exception was the direct cause of the following exception: self = handler = .HandlerWrapper'> ctx = def test_ipv4_client_source_address(self, handler, ctx): with ctx.socks_server(Socks4ProxyHandler) as server_address: source_address = f'127.0.0.{random.randint(5, 255)}' verify_address_availability(source_address) with handler(proxies={'all': f'socks4://{server_address}'}, source_address=source_address) as rh: > response = ctx.socks_info_request(rh) test/test_socks.py:334: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/test_socks.py:272: in socks_info_request ws.send('socks_info') _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = message = 'socks_info' def send(self, message): # https://websockets.readthedocs.io/en/stable/reference/sync/client.html#websockets.sync.client.ClientConnection.send try: return self._ws.send(message) except (websockets.exceptions.WebSocketException, RuntimeError, TimeoutError) as e: > raise TransportError(cause=e) from e E yt_dlp.networking.exceptions.TransportError: no close frame received or sent yt_dlp/networking/_websockets.py:74: TransportError ______________ TestSocks5Proxy.test_socks5_no_auth[Websockets-ws] ______________ TimeoutError: timed out while closing connection The above exception was the direct cause of the following exception: self = message = 'socks_info' def send(self, message): # https://websockets.readthedocs.io/en/stable/reference/sync/client.html#websockets.sync.client.ClientConnection.send try: > return self._ws.send(message) yt_dlp/networking/_websockets.py:72: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/websockets/sync/connection.py:412: in send with self.send_context(): /usr/lib/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = @contextlib.contextmanager def send_context( self, *, expected_state: State = OPEN, # CONNECTING during the opening handshake ) -> Iterator[None]: """ Create a context for writing to the connection from user code. On entry, :meth:`send_context` acquires the connection lock and checks that the connection is open; on exit, it writes outgoing data to the socket:: with self.send_context(): self.protocol.send_text(message.encode()) When the connection isn't open on entry, when the connection is expected to close on exit, or when an unexpected error happens, terminating the connection, :meth:`send_context` waits until the connection is closed then raises :exc:`~websockets.exceptions.ConnectionClosed`. """ # Should we wait until the connection is closed? wait_for_close = False # Should we close the socket and raise ConnectionClosed? raise_close_exc = False # What exception should we chain ConnectionClosed to? original_exc: BaseException | None = None # Acquire the protocol lock. with self.protocol_mutex: if self.protocol.state is expected_state: # Let the caller interact with the protocol. try: yield except (ProtocolError, ConcurrencyError): # The protocol state wasn't changed. Exit immediately. raise except Exception as exc: self.logger.error("unexpected internal error", exc_info=True) # This branch should never run. It's a safety net in case of # bugs. Since we don't know what happened, we will close the # connection and raise the exception to the caller. wait_for_close = False raise_close_exc = True original_exc = exc else: # Check if the connection is expected to close soon. if self.protocol.close_expected(): wait_for_close = True # If the connection is expected to close soon, set the # close deadline based on the close timeout. # Since we tested earlier that protocol.state was OPEN # (or CONNECTING) and we didn't release protocol_mutex, # it is certain that self.close_deadline is still None. assert self.close_deadline is None self.close_deadline = Deadline(self.close_timeout) # Write outgoing data to the socket. try: self.send_data() except Exception as exc: if self.debug: self.logger.debug( "! error while sending data", exc_info=True, ) # While the only expected exception here is OSError, # other exceptions would be treated identically. wait_for_close = False raise_close_exc = True original_exc = exc else: # self.protocol.state is not expected_state # Minor layering violation: we assume that the connection # will be closing soon if it isn't in the expected state. wait_for_close = True raise_close_exc = True # To avoid a deadlock, release the connection lock by exiting the # context manager before waiting for recv_events() to terminate. # If the connection is expected to close soon and the close timeout # elapses, close the socket to terminate the connection. if wait_for_close: if self.close_deadline is None: timeout = self.close_timeout else: # Thread.join() returns immediately if timeout is negative. timeout = self.close_deadline.timeout(raise_if_elapsed=False) self.recv_events_thread.join(timeout) if self.recv_events_thread.is_alive(): # There's no risk to overwrite another error because # original_exc is never set when wait_for_close is True. assert original_exc is None original_exc = TimeoutError("timed out while closing connection") # Set recv_exc before closing the socket in order to get # proper exception reporting. raise_close_exc = True with self.protocol_mutex: self.set_recv_exc(original_exc) # If an error occurred, close the socket to terminate the connection and # raise an exception. if raise_close_exc: self.close_socket() # Wait for the protocol state to be CLOSED before accessing close_exc. self.recv_events_thread.join() > raise self.protocol.close_exc from original_exc E websockets.exceptions.ConnectionClosedError: no close frame received or sent /usr/lib/python3.12/site-packages/websockets/sync/connection.py:875: ConnectionClosedError The above exception was the direct cause of the following exception: self = handler = .HandlerWrapper'> ctx = def test_socks5_no_auth(self, handler, ctx): with ctx.socks_server(Socks5ProxyHandler) as server_address: with handler(proxies={'all': f'socks5://{server_address}'}) as rh: > response = ctx.socks_info_request(rh) test/test_socks.py:376: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/test_socks.py:272: in socks_info_request ws.send('socks_info') _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = message = 'socks_info' def send(self, message): # https://websockets.readthedocs.io/en/stable/reference/sync/client.html#websockets.sync.client.ClientConnection.send try: return self._ws.send(message) except (websockets.exceptions.WebSocketException, RuntimeError, TimeoutError) as e: > raise TransportError(cause=e) from e E yt_dlp.networking.exceptions.TransportError: no close frame received or sent yt_dlp/networking/_websockets.py:74: TransportError _____________ TestSocks5Proxy.test_socks5_user_pass[Websockets-ws] _____________ TimeoutError: timed out while closing connection The above exception was the direct cause of the following exception: self = message = 'socks_info' def send(self, message): # https://websockets.readthedocs.io/en/stable/reference/sync/client.html#websockets.sync.client.ClientConnection.send try: > return self._ws.send(message) yt_dlp/networking/_websockets.py:72: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/websockets/sync/connection.py:412: in send with self.send_context(): /usr/lib/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = @contextlib.contextmanager def send_context( self, *, expected_state: State = OPEN, # CONNECTING during the opening handshake ) -> Iterator[None]: """ Create a context for writing to the connection from user code. On entry, :meth:`send_context` acquires the connection lock and checks that the connection is open; on exit, it writes outgoing data to the socket:: with self.send_context(): self.protocol.send_text(message.encode()) When the connection isn't open on entry, when the connection is expected to close on exit, or when an unexpected error happens, terminating the connection, :meth:`send_context` waits until the connection is closed then raises :exc:`~websockets.exceptions.ConnectionClosed`. """ # Should we wait until the connection is closed? wait_for_close = False # Should we close the socket and raise ConnectionClosed? raise_close_exc = False # What exception should we chain ConnectionClosed to? original_exc: BaseException | None = None # Acquire the protocol lock. with self.protocol_mutex: if self.protocol.state is expected_state: # Let the caller interact with the protocol. try: yield except (ProtocolError, ConcurrencyError): # The protocol state wasn't changed. Exit immediately. raise except Exception as exc: self.logger.error("unexpected internal error", exc_info=True) # This branch should never run. It's a safety net in case of # bugs. Since we don't know what happened, we will close the # connection and raise the exception to the caller. wait_for_close = False raise_close_exc = True original_exc = exc else: # Check if the connection is expected to close soon. if self.protocol.close_expected(): wait_for_close = True # If the connection is expected to close soon, set the # close deadline based on the close timeout. # Since we tested earlier that protocol.state was OPEN # (or CONNECTING) and we didn't release protocol_mutex, # it is certain that self.close_deadline is still None. assert self.close_deadline is None self.close_deadline = Deadline(self.close_timeout) # Write outgoing data to the socket. try: self.send_data() except Exception as exc: if self.debug: self.logger.debug( "! error while sending data", exc_info=True, ) # While the only expected exception here is OSError, # other exceptions would be treated identically. wait_for_close = False raise_close_exc = True original_exc = exc else: # self.protocol.state is not expected_state # Minor layering violation: we assume that the connection # will be closing soon if it isn't in the expected state. wait_for_close = True raise_close_exc = True # To avoid a deadlock, release the connection lock by exiting the # context manager before waiting for recv_events() to terminate. # If the connection is expected to close soon and the close timeout # elapses, close the socket to terminate the connection. if wait_for_close: if self.close_deadline is None: timeout = self.close_timeout else: # Thread.join() returns immediately if timeout is negative. timeout = self.close_deadline.timeout(raise_if_elapsed=False) self.recv_events_thread.join(timeout) if self.recv_events_thread.is_alive(): # There's no risk to overwrite another error because # original_exc is never set when wait_for_close is True. assert original_exc is None original_exc = TimeoutError("timed out while closing connection") # Set recv_exc before closing the socket in order to get # proper exception reporting. raise_close_exc = True with self.protocol_mutex: self.set_recv_exc(original_exc) # If an error occurred, close the socket to terminate the connection and # raise an exception. if raise_close_exc: self.close_socket() # Wait for the protocol state to be CLOSED before accessing close_exc. self.recv_events_thread.join() > raise self.protocol.close_exc from original_exc E websockets.exceptions.ConnectionClosedError: no close frame received or sent /usr/lib/python3.12/site-packages/websockets/sync/connection.py:875: ConnectionClosedError The above exception was the direct cause of the following exception: self = handler = .HandlerWrapper'> ctx = def test_socks5_user_pass(self, handler, ctx): with ctx.socks_server(Socks5ProxyHandler, auth=('test', 'testpass')) as server_address: with handler() as rh: with pytest.raises(ProxyError): ctx.socks_info_request(rh, proxies={'all': f'socks5://{server_address}'}) > response = ctx.socks_info_request( rh, proxies={'all': f'socks5://test:testpass@{server_address}'}) test/test_socks.py:386: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/test_socks.py:272: in socks_info_request ws.send('socks_info') _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = message = 'socks_info' def send(self, message): # https://websockets.readthedocs.io/en/stable/reference/sync/client.html#websockets.sync.client.ClientConnection.send try: return self._ws.send(message) except (websockets.exceptions.WebSocketException, RuntimeError, TimeoutError) as e: > raise TransportError(cause=e) from e E yt_dlp.networking.exceptions.TransportError: no close frame received or sent yt_dlp/networking/_websockets.py:74: TransportError ___________ TestSocks5Proxy.test_socks5_domain_target[Websockets-ws] ___________ TimeoutError: timed out while closing connection The above exception was the direct cause of the following exception: self = message = 'socks_info' def send(self, message): # https://websockets.readthedocs.io/en/stable/reference/sync/client.html#websockets.sync.client.ClientConnection.send try: > return self._ws.send(message) yt_dlp/networking/_websockets.py:72: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/websockets/sync/connection.py:412: in send with self.send_context(): /usr/lib/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = @contextlib.contextmanager def send_context( self, *, expected_state: State = OPEN, # CONNECTING during the opening handshake ) -> Iterator[None]: """ Create a context for writing to the connection from user code. On entry, :meth:`send_context` acquires the connection lock and checks that the connection is open; on exit, it writes outgoing data to the socket:: with self.send_context(): self.protocol.send_text(message.encode()) When the connection isn't open on entry, when the connection is expected to close on exit, or when an unexpected error happens, terminating the connection, :meth:`send_context` waits until the connection is closed then raises :exc:`~websockets.exceptions.ConnectionClosed`. """ # Should we wait until the connection is closed? wait_for_close = False # Should we close the socket and raise ConnectionClosed? raise_close_exc = False # What exception should we chain ConnectionClosed to? original_exc: BaseException | None = None # Acquire the protocol lock. with self.protocol_mutex: if self.protocol.state is expected_state: # Let the caller interact with the protocol. try: yield except (ProtocolError, ConcurrencyError): # The protocol state wasn't changed. Exit immediately. raise except Exception as exc: self.logger.error("unexpected internal error", exc_info=True) # This branch should never run. It's a safety net in case of # bugs. Since we don't know what happened, we will close the # connection and raise the exception to the caller. wait_for_close = False raise_close_exc = True original_exc = exc else: # Check if the connection is expected to close soon. if self.protocol.close_expected(): wait_for_close = True # If the connection is expected to close soon, set the # close deadline based on the close timeout. # Since we tested earlier that protocol.state was OPEN # (or CONNECTING) and we didn't release protocol_mutex, # it is certain that self.close_deadline is still None. assert self.close_deadline is None self.close_deadline = Deadline(self.close_timeout) # Write outgoing data to the socket. try: self.send_data() except Exception as exc: if self.debug: self.logger.debug( "! error while sending data", exc_info=True, ) # While the only expected exception here is OSError, # other exceptions would be treated identically. wait_for_close = False raise_close_exc = True original_exc = exc else: # self.protocol.state is not expected_state # Minor layering violation: we assume that the connection # will be closing soon if it isn't in the expected state. wait_for_close = True raise_close_exc = True # To avoid a deadlock, release the connection lock by exiting the # context manager before waiting for recv_events() to terminate. # If the connection is expected to close soon and the close timeout # elapses, close the socket to terminate the connection. if wait_for_close: if self.close_deadline is None: timeout = self.close_timeout else: # Thread.join() returns immediately if timeout is negative. timeout = self.close_deadline.timeout(raise_if_elapsed=False) self.recv_events_thread.join(timeout) if self.recv_events_thread.is_alive(): # There's no risk to overwrite another error because # original_exc is never set when wait_for_close is True. assert original_exc is None original_exc = TimeoutError("timed out while closing connection") # Set recv_exc before closing the socket in order to get # proper exception reporting. raise_close_exc = True with self.protocol_mutex: self.set_recv_exc(original_exc) # If an error occurred, close the socket to terminate the connection and # raise an exception. if raise_close_exc: self.close_socket() # Wait for the protocol state to be CLOSED before accessing close_exc. self.recv_events_thread.join() > raise self.protocol.close_exc from original_exc E websockets.exceptions.ConnectionClosedError: no close frame received or sent /usr/lib/python3.12/site-packages/websockets/sync/connection.py:875: ConnectionClosedError The above exception was the direct cause of the following exception: self = handler = .HandlerWrapper'> ctx = def test_socks5_domain_target(self, handler, ctx): with ctx.socks_server(Socks5ProxyHandler) as server_address: with handler(proxies={'all': f'socks5://{server_address}'}) as rh: > response = ctx.socks_info_request(rh, target_domain='localhost') test/test_socks.py:402: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/test_socks.py:272: in socks_info_request ws.send('socks_info') _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = message = 'socks_info' def send(self, message): # https://websockets.readthedocs.io/en/stable/reference/sync/client.html#websockets.sync.client.ClientConnection.send try: return self._ws.send(message) except (websockets.exceptions.WebSocketException, RuntimeError, TimeoutError) as e: > raise TransportError(cause=e) from e E yt_dlp.networking.exceptions.TransportError: no close frame received or sent yt_dlp/networking/_websockets.py:74: TransportError ____________ TestSocks5Proxy.test_socks5h_ip_target[Websockets-ws] _____________ TimeoutError: timed out while closing connection The above exception was the direct cause of the following exception: self = message = 'socks_info' def send(self, message): # https://websockets.readthedocs.io/en/stable/reference/sync/client.html#websockets.sync.client.ClientConnection.send try: > return self._ws.send(message) yt_dlp/networking/_websockets.py:72: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/websockets/sync/connection.py:412: in send with self.send_context(): /usr/lib/python3.12/contextlib.py:137: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = @contextlib.contextmanager def send_context( self, *, expected_state: State = OPEN, # CONNECTING during the opening handshake ) -> Iterator[None]: """ Create a context for writing to the connection from user code. On entry, :meth:`send_context` acquires the connection lock and checks that the connection is open; on exit, it writes outgoing data to the socket:: with self.send_context(): self.protocol.send_text(message.encode()) When the connection isn't open on entry, when the connection is expected to close on exit, or when an unexpected error happens, terminating the connection, :meth:`send_context` waits until the connection is closed then raises :exc:`~websockets.exceptions.ConnectionClosed`. """ # Should we wait until the connection is closed? wait_for_close = False # Should we close the socket and raise ConnectionClosed? raise_close_exc = False # What exception should we chain ConnectionClosed to? original_exc: BaseException | None = None # Acquire the protocol lock. with self.protocol_mutex: if self.protocol.state is expected_state: # Let the caller interact with the protocol. try: yield except (ProtocolError, ConcurrencyError): # The protocol state wasn't changed. Exit immediately. raise except Exception as exc: self.logger.error("unexpected internal error", exc_info=True) # This branch should never run. It's a safety net in case of # bugs. Since we don't know what happened, we will close the # connection and raise the exception to the caller. wait_for_close = False raise_close_exc = True original_exc = exc else: # Check if the connection is expected to close soon. if self.protocol.close_expected(): wait_for_close = True # If the connection is expected to close soon, set the # close deadline based on the close timeout. # Since we tested earlier that protocol.state was OPEN # (or CONNECTING) and we didn't release protocol_mutex, # it is certain that self.close_deadline is still None. assert self.close_deadline is None self.close_deadline = Deadline(self.close_timeout) # Write outgoing data to the socket. try: self.send_data() except Exception as exc: if self.debug: self.logger.debug( "! error while sending data", exc_info=True, ) # While the only expected exception here is OSError, # other exceptions would be treated identically. wait_for_close = False raise_close_exc = True original_exc = exc else: # self.protocol.state is not expected_state # Minor layering violation: we assume that the connection # will be closing soon if it isn't in the expected state. wait_for_close = True raise_close_exc = True # To avoid a deadlock, release the connection lock by exiting the # context manager before waiting for recv_events() to terminate. # If the connection is expected to close soon and the close timeout # elapses, close the socket to terminate the connection. if wait_for_close: if self.close_deadline is None: timeout = self.close_timeout else: # Thread.join() returns immediately if timeout is negative. timeout = self.close_deadline.timeout(raise_if_elapsed=False) self.recv_events_thread.join(timeout) if self.recv_events_thread.is_alive(): # There's no risk to overwrite another error because # original_exc is never set when wait_for_close is True. assert original_exc is None original_exc = TimeoutError("timed out while closing connection") # Set recv_exc before closing the socket in order to get # proper exception reporting. raise_close_exc = True with self.protocol_mutex: self.set_recv_exc(original_exc) # If an error occurred, close the socket to terminate the connection and # raise an exception. if raise_close_exc: self.close_socket() # Wait for the protocol state to be CLOSED before accessing close_exc. self.recv_events_thread.join() > raise self.protocol.close_exc from original_exc E websockets.exceptions.ConnectionClosedError: no close frame received or sent /usr/lib/python3.12/site-packages/websockets/sync/connection.py:875: ConnectionClosedError The above exception was the direct cause of the following exception: self = handler = .HandlerWrapper'> ctx = def test_socks5h_ip_target(self, handler, ctx): with ctx.socks_server(Socks5ProxyHandler) as server_address: with handler(proxies={'all': f'socks5h://{server_address}'}) as rh: > response = ctx.socks_info_request(rh, target_domain='127.0.0.1') test/test_socks.py:417: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/test_socks.py:272: in socks_info_request ws.send('socks_info') _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = message = 'socks_info' def send(self, message): # https://websockets.readthedocs.io/en/stable/reference/sync/client.html#websockets.sync.client.ClientConnection.send try: return self._ws.send(message) except (websockets.exceptions.WebSocketException, RuntimeError, TimeoutError) as e: > raise TransportError(cause=e) from e E yt_dlp.networking.exceptions.TransportError: no close frame received or sent yt_dlp/networking/_websockets.py:74: TransportError =========================== short test summary info ============================ SKIPPED [1] test/test_http_proxy.py:252: CurlCFFI request handler is not available SKIPPED [1] test/test_http_proxy.py:260: CurlCFFI request handler is not available SKIPPED [1] test/test_http_proxy.py:267: CurlCFFI request handler is not available SKIPPED [1] test/test_http_proxy.py:275: CurlCFFI request handler is not available SKIPPED [1] test/test_http_proxy.py:285: urllib does not support https proxies SKIPPED [1] test/test_http_proxy.py:285: CurlCFFI request handler is not available SKIPPED [1] test/test_http_proxy.py:294: urllib does not support https proxies SKIPPED [1] test/test_http_proxy.py:294: CurlCFFI request handler is not available SKIPPED [1] test/test_http_proxy.py:304: CurlCFFI request handler is not available SKIPPED [1] test/test_http_proxy.py:319: CurlCFFI request handler is not available SKIPPED [1] test/test_http_proxy.py:327: CurlCFFI request handler is not available SKIPPED [1] test/test_http_proxy.py:334: bug in urllib3 causes unclosed socket: https://github.com/urllib3/urllib3/issues/3374 SKIPPED [1] test/test_http_proxy.py:334: CurlCFFI request handler is not available SKIPPED [1] test/test_http_proxy.py:344: CurlCFFI request handler is not available SKIPPED [1] test/test_http_proxy.py:355: CurlCFFI request handler is not available SKIPPED [1] test/test_http_proxy.py:364: CurlCFFI request handler is not available SKIPPED [1] test/test_http_proxy.py:374: CurlCFFI request handler is not available SKIPPED [1] test/test_jsinterp.py:112: Not implemented SKIPPED [1] test/test_jsinterp.py:374: Not implemented SKIPPED [1] test/test_jsinterp.py:336: Not implemented SKIPPED [1] test/test_networking.py:329: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:346: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:371: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:392: CurlCFFI request handler is not available SKIPPED [3] test/test_networking.py:403: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:418: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:425: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:434: CurlCFFI request handler is not available SKIPPED [10] test/test_networking.py:445: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:486: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:518: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:523: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:528: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:544: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:551: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:562: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:577: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:592: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:607: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:618: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:624: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:635: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:644: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:653: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:663: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:673: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:683: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:694: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:708: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:751: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:756: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:762: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:768: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:778: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:787: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:795: CurlCFFI request handler is not available SKIPPED [2] test/test_networking.py:1003: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:1015: CurlCFFI request handler is not available SKIPPED [3] test/test_networking.py:1035: CurlCFFI request handler is not available SKIPPED [5] test/test_networking.py:1063: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:1102: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:1332: CurlCFFI request handler is not available SKIPPED [1] test/test_networking.py:1342: CurlCFFI request handler is not available SKIPPED [4] test/test_networking.py:1353: CurlCFFI request handler is not available SKIPPED [2] test/test_networking.py:1364: CurlCFFI request handler is not available SKIPPED [2] test/test_networking.py:1372: CurlCFFI request handler is not available SKIPPED [6] test/test_networking.py:1381: CurlCFFI request handler is not available SKIPPED [14] test/test_networking.py:1390: CurlCFFI request handler is not available SKIPPED [1] test/test_networking_utils.py:106: System uses certifi as default. The test is not valid SKIPPED [1] test/test_socks.py:297: CurlCFFI request handler is not available SKIPPED [1] test/test_socks.py:304: CurlCFFI request handler is not available SKIPPED [1] test/test_socks.py:313: CurlCFFI request handler is not available SKIPPED [1] test/test_socks.py:320: CurlCFFI request handler is not available SKIPPED [1] test/test_socks.py:328: CurlCFFI request handler is not available SKIPPED [3] test/test_socks.py:338: CurlCFFI request handler is not available SKIPPED [1] test/test_socks.py:349: CurlCFFI request handler is not available SKIPPED [1] test/test_socks.py:357: CurlCFFI request handler is not available SKIPPED [1] test/test_socks.py:373: CurlCFFI request handler is not available SKIPPED [1] test/test_socks.py:380: CurlCFFI request handler is not available SKIPPED [1] test/test_socks.py:392: CurlCFFI request handler is not available SKIPPED [1] test/test_socks.py:399: CurlCFFI request handler is not available SKIPPED [1] test/test_socks.py:406: CurlCFFI request handler is not available SKIPPED [1] test/test_socks.py:414: CurlCFFI request handler is not available SKIPPED [1] test/test_socks.py:422: CurlCFFI request handler is not available SKIPPED [1] test/test_socks.py:429: CurlCFFI request handler is not available SKIPPED [1] test/test_socks.py:439: CurlCFFI request handler is not available SKIPPED [8] test/test_socks.py:448: CurlCFFI request handler is not available SKIPPED [1] test/test_socks.py:464: CurlCFFI request handler is not available SKIPPED [1] test/test_utils.py:2121: Only relevant on Windows SKIPPED [1] test/test_websockets.py:283: Set-Cookie not supported by websockets SKIPPED [1] test/test_websockets.py:293: Set-Cookie not supported by websockets FAILED test/test_socks.py::TestSocks4Proxy::test_socks4_auth[Websockets-ws] FAILED test/test_socks.py::TestSocks4Proxy::test_ipv4_client_source_address[Websockets-ws] FAILED test/test_socks.py::TestSocks5Proxy::test_socks5_no_auth[Websockets-ws] FAILED test/test_socks.py::TestSocks5Proxy::test_socks5_user_pass[Websockets-ws] FAILED test/test_socks.py::TestSocks5Proxy::test_socks5_domain_target[Websockets-ws] FAILED test/test_socks.py::TestSocks5Proxy::test_socks5h_ip_target[Websockets-ws] === 6 failed, 844 passed, 141 skipped, 5968 deselected in 162.73s (0:02:42) ==== >>> ERROR: yt-dlp: check failed >>> yt-dlp: Uninstalling dependencies... (1/177) Purging .makedepends-yt-dlp (20241116.024300) (2/177) Purging attr (2.5.2-r2) (3/177) Purging ca-certificates (20240705-r0) Executing ca-certificates-20240705-r0.post-deinstall (4/177) Purging ffmpeg (6.1.1-r10) (5/177) Purging py3-brotli-pyc (1.1.0-r2) (6/177) Purging py3-brotli (1.1.0-r2) (7/177) Purging py3-mutagen-pyc (1.47.0-r1) (8/177) Purging py3-mutagen (1.47.0-r1) (9/177) Purging py3-pycryptodomex (3.20.0-r1) (10/177) Purging py3-secretstorage-pyc (3.3.3-r3) (11/177) Purging py3-secretstorage (3.3.3-r3) (12/177) Purging py3-cryptography-pyc (43.0.3-r0) (13/177) Purging py3-cryptography (43.0.3-r0) (14/177) Purging py3-cffi-pyc (1.17.1-r1) (15/177) Purging py3-cffi (1.17.1-r1) (16/177) Purging py3-cparser-pyc (2.22-r1) (17/177) Purging py3-cparser (2.22-r1) (18/177) Purging py3-jeepney-pyc (0.8.0-r4) (19/177) Purging py3-jeepney (0.8.0-r4) (20/177) Purging py3-websockets-pyc (14.1-r0) (21/177) Purging py3-websockets (14.1-r0) (22/177) Purging py3-gpep517-pyc (16-r0) (23/177) Purging py3-gpep517 (16-r0) (24/177) Purging py3-installer-pyc (0.7.0-r2) (25/177) Purging py3-installer (0.7.0-r2) (26/177) Purging py3-hatchling-pyc (1.26.1-r0) (27/177) Purging py3-hatchling (1.26.1-r0) (28/177) Purging py3-editables-pyc (0.5-r2) (29/177) Purging py3-editables (0.5-r2) (30/177) Purging py3-pathspec-pyc (0.12.1-r2) (31/177) Purging py3-pathspec (0.12.1-r2) (32/177) Purging py3-trove-classifiers-pyc (2024.10.21.16-r0) (33/177) Purging py3-trove-classifiers (2024.10.21.16-r0) (34/177) Purging py3-flake8-pyc (7.1.1-r0) (35/177) Purging py3-flake8 (7.1.1-r0) (36/177) Purging py3-pyflakes-pyc (3.2.0-r1) (37/177) Purging py3-pyflakes (3.2.0-r1) (38/177) Purging py3-pycodestyle-pyc (2.12.0-r0) (39/177) Purging py3-pycodestyle (2.12.0-r0) (40/177) Purging py3-mccabe-pyc (0.7.0-r4) (41/177) Purging py3-mccabe (0.7.0-r4) (42/177) Purging py3-nose-pyc (1.3.7-r13) (43/177) Purging py3-nose (1.3.7-r13) (44/177) Purging py3-pytest-xdist-pyc (3.6.1-r0) (45/177) Purging py3-pytest-xdist (3.6.1-r0) (46/177) Purging py3-execnet-pyc (2.1.1-r0) (47/177) Purging py3-execnet (2.1.1-r0) (48/177) Purging py3-pytest-pyc (8.3.3-r0) (49/177) Purging py3-pytest (8.3.3-r0) (50/177) Purging py3-iniconfig-pyc (2.0.0-r1) (51/177) Purging py3-iniconfig (2.0.0-r1) (52/177) Purging py3-packaging-pyc (24.2-r0) (53/177) Purging py3-packaging (24.2-r0) (54/177) Purging py3-parsing-pyc (3.1.4-r0) (55/177) Purging py3-parsing (3.1.4-r0) (56/177) Purging py3-pluggy-pyc (1.5.0-r0) (57/177) Purging py3-pluggy (1.5.0-r0) (58/177) Purging py3-py-pyc (1.11.0-r4) (59/177) Purging py3-py (1.11.0-r4) (60/177) Purging py3-requests-pyc (2.32.3-r0) (61/177) Purging py3-requests (2.32.3-r0) (62/177) Purging py3-certifi-pyc (2024.8.30-r0) (63/177) Purging py3-certifi (2024.8.30-r0) (64/177) Purging py3-charset-normalizer-pyc (3.4.0-r0) (65/177) Purging py3-charset-normalizer (3.4.0-r0) (66/177) Purging py3-idna-pyc (3.10-r0) (67/177) Purging py3-idna (3.10-r0) (68/177) Purging py3-urllib3-pyc (1.26.20-r0) (69/177) Purging py3-urllib3 (1.26.20-r0) (70/177) Purging python3-pyc (3.12.7-r1) (71/177) Purging python3-pycache-pyc0 (3.12.7-r1) (72/177) Purging pyc (3.12.7-r1) (73/177) Purging python3 (3.12.7-r1) (74/177) Purging ffmpeg-libavdevice (6.1.1-r10) (75/177) Purging ffmpeg-libavfilter (6.1.1-r10) (76/177) Purging ffmpeg-libavformat (6.1.1-r10) (77/177) Purging ffmpeg-libpostproc (6.1.1-r10) (78/177) Purging ffmpeg-libswscale (6.1.1-r10) (79/177) Purging gdbm (1.24-r0) (80/177) Purging libass (0.17.3-r0) (81/177) Purging libattr (2.5.2-r2) (82/177) Purging libbluray (1.3.4-r1) (83/177) Purging libopenmpt (0.7.10-r0) (84/177) Purging libpanelw (6.5_p20241006-r3) (85/177) Purging libplacebo (6.338.2-r3) (86/177) Purging libpulse (17.0-r4) (87/177) Purging librist (0.2.10-r1) (88/177) Purging libsndfile (1.2.2-r0) (89/177) Purging libsrt (1.5.3-r0) (90/177) Purging libssh (0.11.1-r0) (91/177) Purging libunibreak (6.1-r0) (92/177) Purging libxml2 (2.13.4-r3) (93/177) Purging libzmq (4.3.5-r2) (94/177) Purging lilv-libs (0.24.24-r1) (95/177) Purging mbedtls (3.6.2-r0) (96/177) Purging mpdecimal (4.0.0-r0) (97/177) Purging mpg123-libs (1.32.9-r0) (98/177) Purging orc (0.4.40-r1) (99/177) Purging sdl2 (2.30.9-r0) (100/177) Purging shaderc (2024.0-r2) (101/177) Purging speexdsp (1.2.1-r2) (102/177) Purging sqlite-libs (3.47.0-r0) (103/177) Purging sratom (0.6.16-r0) (104/177) Purging tdb-libs (1.4.10-r0) (105/177) Purging v4l-utils-libs (1.28.1-r1) (106/177) Purging vidstab (1.1.1-r0) (107/177) Purging vulkan-loader (1.3.296.0-r0) (108/177) Purging xz-libs (5.6.3-r0) (109/177) Purging zimg (3.0.5-r2) (110/177) Purging alsa-lib (1.2.12-r0) (111/177) Purging ffmpeg-libavcodec (6.1.1-r10) (112/177) Purging aom-libs (3.10.0-r0) (113/177) Purging dbus-libs (1.14.10-r4) (114/177) Purging ffmpeg-libswresample (6.1.1-r10) (115/177) Purging ffmpeg-libavutil (6.1.1-r10) (116/177) Purging fontconfig (2.15.0-r1) (117/177) Purging harfbuzz (9.0.0-r1) (118/177) Purging freetype (2.13.3-r0) (119/177) Purging fribidi (1.0.16-r0) (120/177) Purging libjxl (0.10.2-r0) (121/177) Purging giflib (5.2.2-r0) (122/177) Purging glib (2.82.2-r0) (123/177) Purging glslang-libs (1.3.296.0-r0) (124/177) Purging graphite2 (1.3.14-r6) (125/177) Purging libva (2.22.0-r1) (126/177) Purging libdrm (2.4.123-r1) (127/177) Purging libpciaccess (0.18.1-r0) (128/177) Purging hwdata-pci (0.388-r0) (129/177) Purging openexr-libopenexr (3.1.13-r2) (130/177) Purging imath (3.1.12-r0) (131/177) Purging lame-libs (3.100-r5) (132/177) Purging lcms2 (2.16-r0) (133/177) Purging libasyncns (0.8-r4) (134/177) Purging libmount (2.40.2-r3) (135/177) Purging libblkid (2.40.2-r3) (136/177) Purging libvdpau (1.5-r4) (137/177) Purging libxext (1.3.6-r2) (138/177) Purging libxfixes (6.0.1-r4) (139/177) Purging libx11 (1.8.10-r0) (140/177) Purging libxcb (1.16.1-r0) (141/177) Purging libxdmcp (1.1.5-r1) (142/177) Purging libbsd (0.12.2-r0) (143/177) Purging libbz2 (1.0.8-r6) (144/177) Purging libdav1d (1.5.0-r0) (145/177) Purging libdovi (3.3.1-r0) (146/177) Purging libeconf (0.6.3-r0) (147/177) Purging wayland-libs-client (1.23.1-r0) (148/177) Purging libffi (3.4.6-r0) (149/177) Purging libflac (1.4.3-r1) (150/177) Purging libhwy (1.0.7-r0) (151/177) Purging libintl (0.22.5-r0) (152/177) Purging libjpeg-turbo (3.0.4-r0) (153/177) Purging libltdl (2.4.7-r3) (154/177) Purging libmd (1.1.0-r0) (155/177) Purging libtheora (1.1.1-r18) (156/177) Purging libvorbis (1.3.7-r2) (157/177) Purging libogg (1.3.5-r5) (158/177) Purging libpng (1.6.44-r0) (159/177) Purging libwebpmux (1.4.0-r0) (160/177) Purging libwebp (1.4.0-r0) (161/177) Purging libsharpyuv (1.4.0-r0) (162/177) Purging libsodium (1.0.20-r0) (163/177) Purging libvpx (1.14.1-r0) (164/177) Purging libxau (1.0.11-r4) (165/177) Purging x265-libs (3.6-r0) (166/177) Purging numactl (2.0.18-r0) (167/177) Purging openexr-libilmthread (3.1.13-r2) (168/177) Purging openexr-libiex (3.1.13-r2) (169/177) Purging opus (1.5.2-r1) (170/177) Purging rav1e-libs (0.7.1-r0) (171/177) Purging sord-libs (0.16.16-r0) (172/177) Purging serd-libs (0.32.2-r0) (173/177) Purging soxr (0.1.3-r7) (174/177) Purging spirv-tools (1.3.290.0-r0) (175/177) Purging x264-libs (0.164.3108-r0) (176/177) Purging xvidcore (1.3.7-r2) (177/177) Purging zix-libs (0.4.2-r0) Executing busybox-1.37.0-r7.trigger OK: 396 MiB in 100 packages