0s autopkgtest [12:24:10]: starting date and time: 2025-05-05 12:24:10+0000 0s autopkgtest [12:24:10]: git checkout: 9986aa8c Merge branch 'skia/fix_network_interface' into 'ubuntu/production' 0s autopkgtest [12:24:10]: host juju-7f2275-prod-proposed-migration-environment-23; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.7_4j07je/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:sphinx,src:pytest --apt-upgrade ubelt --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=sphinx/8.2.3-1 pytest/8.3.5-2' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-cpu2-ram4-disk20-ppc64el --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-23@sto01-ppc64el-1.secgroup --name adt-questing-ppc64el-ubelt-20250505-122410-juju-7f2275-prod-proposed-migration-environment-23-b4d12f8b-6c5d-450e-b5d2-bec4042a9284 --image adt/ubuntu-questing-ppc64el-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-23 --net-id=net_prod-autopkgtest-workers-ppc64el -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 77s autopkgtest [12:25:27]: testbed dpkg architecture: ppc64el 77s autopkgtest [12:25:27]: testbed apt version: 3.0.0 77s autopkgtest [12:25:27]: @@@@@@@@@@@@@@@@@@@@ test bed setup 77s autopkgtest [12:25:27]: testbed release detected to be: None 78s autopkgtest [12:25:28]: updating testbed package index (apt update) 78s Get:1 http://ftpmaster.internal/ubuntu questing-proposed InRelease [110 kB] 78s Hit:2 http://ftpmaster.internal/ubuntu questing InRelease 78s Hit:3 http://ftpmaster.internal/ubuntu questing-updates InRelease 78s Hit:4 http://ftpmaster.internal/ubuntu questing-security InRelease 78s Get:5 http://ftpmaster.internal/ubuntu questing-proposed/universe Sources [931 kB] 78s Get:6 http://ftpmaster.internal/ubuntu questing-proposed/main Sources [91.4 kB] 78s Get:7 http://ftpmaster.internal/ubuntu questing-proposed/multiverse Sources [32.2 kB] 78s Get:8 http://ftpmaster.internal/ubuntu questing-proposed/main ppc64el Packages [121 kB] 78s Get:9 http://ftpmaster.internal/ubuntu questing-proposed/universe ppc64el Packages [894 kB] 79s Get:10 http://ftpmaster.internal/ubuntu questing-proposed/multiverse ppc64el Packages [19.2 kB] 79s Fetched 2199 kB in 1s (3188 kB/s) 80s Reading package lists... 80s autopkgtest [12:25:30]: upgrading testbed (apt dist-upgrade and autopurge) 80s Reading package lists... 80s Building dependency tree... 80s Reading state information... 81s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 81s Starting 2 pkgProblemResolver with broken count: 0 81s Done 81s Entering ResolveByKeep 81s 81s Calculating upgrade... 81s The following packages will be upgraded: 81s diffutils gettext-base libgpg-error-l10n libgpg-error0 libperl5.40 81s libselinux1 netbase perl perl-base perl-modules-5.40 python3-attr 81s 11 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 81s Need to get 10.9 MB of archives. 81s After this operation, 2048 B of additional disk space will be used. 81s Get:1 http://ftpmaster.internal/ubuntu questing/main ppc64el diffutils ppc64el 1:3.10-4 [206 kB] 81s Get:2 http://ftpmaster.internal/ubuntu questing-proposed/main ppc64el libperl5.40 ppc64el 5.40.1-3 [4949 kB] 82s Get:3 http://ftpmaster.internal/ubuntu questing-proposed/main ppc64el perl ppc64el 5.40.1-3 [262 kB] 82s Get:4 http://ftpmaster.internal/ubuntu questing-proposed/main ppc64el perl-base ppc64el 5.40.1-3 [1923 kB] 82s Get:5 http://ftpmaster.internal/ubuntu questing-proposed/main ppc64el perl-modules-5.40 all 5.40.1-3 [3217 kB] 82s Get:6 http://ftpmaster.internal/ubuntu questing/main ppc64el libselinux1 ppc64el 3.8.1-1 [110 kB] 82s Get:7 http://ftpmaster.internal/ubuntu questing/main ppc64el libgpg-error-l10n all 1.51-4 [8880 B] 82s Get:8 http://ftpmaster.internal/ubuntu questing/main ppc64el libgpg-error0 ppc64el 1.51-4 [95.1 kB] 82s Get:9 http://ftpmaster.internal/ubuntu questing/main ppc64el netbase all 6.5 [12.9 kB] 82s Get:10 http://ftpmaster.internal/ubuntu questing/main ppc64el gettext-base ppc64el 0.23.1-2 [43.9 kB] 82s Get:11 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-attr all 25.3.0-1 [50.9 kB] 83s Fetched 10.9 MB in 1s (21.5 MB/s) 83s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 78710 files and directories currently installed.) 83s Preparing to unpack .../diffutils_1%3a3.10-4_ppc64el.deb ... 83s Unpacking diffutils (1:3.10-4) over (1:3.10-3) ... 83s Setting up diffutils (1:3.10-4) ... 83s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 78710 files and directories currently installed.) 83s Preparing to unpack .../libperl5.40_5.40.1-3_ppc64el.deb ... 83s Unpacking libperl5.40:ppc64el (5.40.1-3) over (5.40.1-2ubuntu0.1) ... 84s Preparing to unpack .../perl_5.40.1-3_ppc64el.deb ... 84s Unpacking perl (5.40.1-3) over (5.40.1-2ubuntu0.1) ... 84s Preparing to unpack .../perl-base_5.40.1-3_ppc64el.deb ... 84s Unpacking perl-base (5.40.1-3) over (5.40.1-2ubuntu0.1) ... 84s Setting up perl-base (5.40.1-3) ... 84s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 78710 files and directories currently installed.) 84s Preparing to unpack .../perl-modules-5.40_5.40.1-3_all.deb ... 84s Unpacking perl-modules-5.40 (5.40.1-3) over (5.40.1-2ubuntu0.1) ... 85s Preparing to unpack .../libselinux1_3.8.1-1_ppc64el.deb ... 85s Unpacking libselinux1:ppc64el (3.8.1-1) over (3.7-3ubuntu3) ... 85s Setting up libselinux1:ppc64el (3.8.1-1) ... 85s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 78710 files and directories currently installed.) 85s Preparing to unpack .../libgpg-error-l10n_1.51-4_all.deb ... 85s Unpacking libgpg-error-l10n (1.51-4) over (1.51-3) ... 85s Preparing to unpack .../libgpg-error0_1.51-4_ppc64el.deb ... 85s Unpacking libgpg-error0:ppc64el (1.51-4) over (1.51-3) ... 85s Setting up libgpg-error0:ppc64el (1.51-4) ... 85s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 78710 files and directories currently installed.) 85s Preparing to unpack .../archives/netbase_6.5_all.deb ... 85s Unpacking netbase (6.5) over (6.4) ... 85s Preparing to unpack .../gettext-base_0.23.1-2_ppc64el.deb ... 85s Unpacking gettext-base (0.23.1-2) over (0.23.1-1) ... 85s Preparing to unpack .../python3-attr_25.3.0-1_all.deb ... 85s Unpacking python3-attr (25.3.0-1) over (25.1.0-1) ... 85s Setting up python3-attr (25.3.0-1) ... 85s Setting up gettext-base (0.23.1-2) ... 85s Setting up perl-modules-5.40 (5.40.1-3) ... 85s Setting up netbase (6.5) ... 85s Installing new version of config file /etc/ethertypes ... 85s Installing new version of config file /etc/services ... 85s Setting up libgpg-error-l10n (1.51-4) ... 85s Setting up libperl5.40:ppc64el (5.40.1-3) ... 85s Setting up perl (5.40.1-3) ... 85s Processing triggers for libc-bin (2.41-6ubuntu1) ... 86s Processing triggers for man-db (2.13.1-1) ... 86s Processing triggers for install-info (7.1.1-1) ... 87s Reading package lists... 87s Building dependency tree... 87s Reading state information... 87s Starting pkgProblemResolver with broken count: 0 87s Starting 2 pkgProblemResolver with broken count: 0 87s Done 87s Solving dependencies... 87s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 89s autopkgtest [12:25:39]: testbed running kernel: Linux 6.14.0-15-generic #15-Ubuntu SMP Sun Apr 6 14:52:42 UTC 2025 90s autopkgtest [12:25:40]: @@@@@@@@@@@@@@@@@@@@ apt-source ubelt 91s Get:1 http://ftpmaster.internal/ubuntu questing/universe ubelt 1.3.7-1 (dsc) [3259 B] 91s Get:2 http://ftpmaster.internal/ubuntu questing/universe ubelt 1.3.7-1 (tar) [375 kB] 91s Get:3 http://ftpmaster.internal/ubuntu questing/universe ubelt 1.3.7-1 (diff) [3220 B] 91s gpgv: Signature made Sat Dec 7 14:09:46 2024 UTC 91s gpgv: using RSA key 21C9A18D855396669BD2D8E9F9154FDE143E4BAF 91s gpgv: Can't check signature: No public key 91s dpkg-source: warning: cannot verify inline signature for ./ubelt_1.3.7-1.dsc: no acceptable signature found 91s autopkgtest [12:25:41]: testing package ubelt version 1.3.7-1 92s autopkgtest [12:25:42]: build not needed 92s autopkgtest [12:25:42]: test pytest: preparing testbed 92s Reading package lists... 92s Building dependency tree... 92s Reading state information... 93s Starting pkgProblemResolver with broken count: 0 93s Starting 2 pkgProblemResolver with broken count: 0 93s Done 93s The following NEW packages will be installed: 93s fonts-font-awesome fonts-lato libjs-jquery libjs-sphinxdoc libjs-underscore 93s python-ubelt-doc python3-all python3-iniconfig python3-pluggy python3-pytest 93s python3-ubelt python3-xdoctest sphinx-rtd-theme-common 93s 0 upgraded, 13 newly installed, 0 to remove and 0 not upgraded. 93s Need to get 5714 kB of archives. 93s After this operation, 41.0 MB of additional disk space will be used. 93s Get:1 http://ftpmaster.internal/ubuntu questing/main ppc64el fonts-lato all 2.015-1 [2781 kB] 93s Get:2 http://ftpmaster.internal/ubuntu questing/main ppc64el fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 93s Get:3 http://ftpmaster.internal/ubuntu questing/main ppc64el libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 93s Get:4 http://ftpmaster.internal/ubuntu questing/main ppc64el libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 93s Get:5 http://ftpmaster.internal/ubuntu questing-proposed/main ppc64el libjs-sphinxdoc all 8.2.3-1 [27.8 kB] 93s Get:6 http://ftpmaster.internal/ubuntu questing/main ppc64el sphinx-rtd-theme-common all 3.0.2+dfsg-2 [1014 kB] 93s Get:7 http://ftpmaster.internal/ubuntu questing/universe ppc64el python-ubelt-doc all 1.3.7-1 [364 kB] 93s Get:8 http://ftpmaster.internal/ubuntu questing/main ppc64el python3-all ppc64el 3.13.3-1 [880 B] 93s Get:9 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-iniconfig all 1.1.1-2 [6024 B] 93s Get:10 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-pluggy all 1.5.0-1 [21.0 kB] 93s Get:11 http://ftpmaster.internal/ubuntu questing-proposed/universe ppc64el python3-pytest all 8.3.5-2 [252 kB] 93s Get:12 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-ubelt all 1.3.7-1 [171 kB] 93s Get:13 http://ftpmaster.internal/ubuntu questing/universe ppc64el python3-xdoctest all 1.2.0-1 [115 kB] 93s Fetched 5714 kB in 0s (15.1 MB/s) 93s Selecting previously unselected package fonts-lato. 93s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 78710 files and directories currently installed.) 93s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 93s Unpacking fonts-lato (2.015-1) ... 94s Selecting previously unselected package fonts-font-awesome. 94s Preparing to unpack .../01-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 94s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 94s Selecting previously unselected package libjs-jquery. 94s Preparing to unpack .../02-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 94s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 94s Selecting previously unselected package libjs-underscore. 94s Preparing to unpack .../03-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 94s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 94s Selecting previously unselected package libjs-sphinxdoc. 94s Preparing to unpack .../04-libjs-sphinxdoc_8.2.3-1_all.deb ... 94s Unpacking libjs-sphinxdoc (8.2.3-1) ... 94s Selecting previously unselected package sphinx-rtd-theme-common. 94s Preparing to unpack .../05-sphinx-rtd-theme-common_3.0.2+dfsg-2_all.deb ... 94s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 94s Selecting previously unselected package python-ubelt-doc. 94s Preparing to unpack .../06-python-ubelt-doc_1.3.7-1_all.deb ... 94s Unpacking python-ubelt-doc (1.3.7-1) ... 94s Selecting previously unselected package python3-all. 94s Preparing to unpack .../07-python3-all_3.13.3-1_ppc64el.deb ... 94s Unpacking python3-all (3.13.3-1) ... 94s Selecting previously unselected package python3-iniconfig. 94s Preparing to unpack .../08-python3-iniconfig_1.1.1-2_all.deb ... 94s Unpacking python3-iniconfig (1.1.1-2) ... 94s Selecting previously unselected package python3-pluggy. 94s Preparing to unpack .../09-python3-pluggy_1.5.0-1_all.deb ... 94s Unpacking python3-pluggy (1.5.0-1) ... 94s Selecting previously unselected package python3-pytest. 94s Preparing to unpack .../10-python3-pytest_8.3.5-2_all.deb ... 94s Unpacking python3-pytest (8.3.5-2) ... 94s Selecting previously unselected package python3-ubelt. 94s Preparing to unpack .../11-python3-ubelt_1.3.7-1_all.deb ... 94s Unpacking python3-ubelt (1.3.7-1) ... 94s Selecting previously unselected package python3-xdoctest. 94s Preparing to unpack .../12-python3-xdoctest_1.2.0-1_all.deb ... 94s Unpacking python3-xdoctest (1.2.0-1) ... 94s Setting up python3-iniconfig (1.1.1-2) ... 94s Setting up fonts-lato (2.015-1) ... 94s Setting up python3-xdoctest (1.2.0-1) ... 94s Setting up python3-all (3.13.3-1) ... 94s Setting up python3-pluggy (1.5.0-1) ... 94s Setting up python3-ubelt (1.3.7-1) ... 95s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 95s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 95s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-2) ... 95s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 95s Setting up python3-pytest (8.3.5-2) ... 95s Setting up libjs-sphinxdoc (8.2.3-1) ... 95s Setting up python-ubelt-doc (1.3.7-1) ... 95s Processing triggers for man-db (2.13.1-1) ... 96s autopkgtest [12:25:46]: test pytest: [----------------------- 96s === python3.13 === 97s ============================= test session starts ============================== 97s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 -- /usr/bin/python3.13 97s cachedir: .pytest_cache 97s rootdir: /tmp/autopkgtest.AXCAV5/autopkgtest_tmp 97s plugins: typeguard-4.4.2, xdoctest-1.2.0 97s collecting ... collected 237 items 97s 97s tests/test_cache.py::test_noexist_meta_clear PASSED [ 0%] 97s tests/test_cache.py::test_clear_quiet PASSED [ 0%] 97s tests/test_cache.py::test_corrupt PASSED [ 1%] 97s tests/test_cache.py::test_onerror_clear PASSED [ 1%] 97s tests/test_cache.py::test_onerror_raise PASSED [ 2%] 97s tests/test_cache.py::test_onerror_bad_method PASSED [ 2%] 97s tests/test_cache.py::test_cache_hit PASSED [ 2%] 97s tests/test_cache.py::test_disable PASSED [ 3%] 97s tests/test_cache.py::test_disabled_cache_stamp PASSED [ 3%] 97s tests/test_cache.py::test_cache_depends PASSED [ 4%] 97s tests/test_cache.py::test_cache_cfgstr PASSED [ 4%] 97s tests/test_cache.py::test_cache_stamp_with_hash PASSED [ 5%] 97s tests/test_cache_stamp.py::test_cache_stamp PASSED [ 5%] 97s tests/test_cache_stamp.py::test_cache_stamp_corrupt_product_nohasher PASSED [ 5%] 97s tests/test_cache_stamp.py::test_not_time_expired PASSED [ 6%] 97s tests/test_cache_stamp.py::test_time_expired PASSED [ 6%] 97s tests/test_cache_stamp.py::test_cache_stamp_corrupt_product_hasher PASSED [ 7%] 97s tests/test_cache_stamp.py::test_cache_stamp_multiproduct PASSED [ 7%] 97s tests/test_cache_stamp.py::test_cache_stamp_noproduct PASSED [ 8%] 97s tests/test_cmd.py::test_cmd_stdout PASSED [ 8%] 97s tests/test_cmd.py::test_cmd_veryverbose PASSED [ 8%] 97s tests/test_cmd.py::test_tee_false PASSED [ 9%] 97s tests/test_cmd.py::test_cmd_stdout_quiet PASSED [ 9%] 97s tests/test_cmd.py::test_cmd_stderr PASSED [ 10%] 97s tests/test_cmd.py::test_cmd_with_list_of_pathlib PASSED [ 10%] 97s tests/test_cmd.py::test_cmd_with_single_pathlib PASSED [ 10%] 97s tests/test_cmd.py::test_cmd_tee_auto PASSED [ 11%] 97s tests/test_cmd.py::test_cmd_tee_thread PASSED [ 11%] 97s tests/test_cmd.py::test_cmd_tee_select PASSED [ 12%] 97s tests/test_cmd.py::test_cmd_tee_badmethod PASSED [ 12%] 97s tests/test_cmd.py::test_cmd_multiline_stdout PASSED [ 13%] 97s tests/test_cmd.py::test_cmd_interleaved_streams_sh PASSED [ 13%] 97s tests/test_cmd.py::test_cmd_interleaved_streams_py PASSED [ 13%] 97s tests/test_cmd.py::test_cwd PASSED [ 14%] 97s tests/test_cmd.py::test_env PASSED [ 14%] 98s tests/test_cmd.py::test_timeout PASSED [ 15%] 98s tests/test_cmd.py::test_subprocess_compatability PASSED [ 15%] 98s tests/test_cmd.py::test_failing_subprocess_compatability PASSED [ 16%] 98s tests/test_cmd.py::test_cmdoutput_object_with_non_subprocess_backends PASSED [ 16%] 98s tests/test_color.py::test_unable_to_find_color PASSED [ 16%] 98s tests/test_color.py::test_global_color_disable PASSED [ 17%] 98s tests/test_dict.py::test_auto_dict PASSED [ 17%] 98s tests/test_dict.py::test_auto_dict_to_dict PASSED [ 18%] 98s tests/test_dict.py::test_auto_dict_ordered PASSED [ 18%] 98s tests/test_dict.py::test_dzip_errors PASSED [ 18%] 98s tests/test_dict.py::test_group_items_callable PASSED [ 19%] 98s tests/test_dict.py::test_dict_hist_ordered PASSED [ 19%] 98s tests/test_dict.py::test_dict_subset_iterable PASSED [ 20%] 99s tests/test_download.py::test_download_no_fpath FAILED [ 20%] 99s tests/test_download.py::test_download_with_fpath FAILED [ 21%] 99s tests/test_download.py::test_download_chunksize FAILED [ 21%] 99s tests/test_download.py::test_download_cover_hashers FAILED [ 21%] 99s tests/test_download.py::test_download_hashalgo FAILED [ 22%] 100s tests/test_download.py::test_grabdata_cache FAILED [ 22%] 100s tests/test_download.py::test_grabdata_nohash FAILED [ 23%] 100s tests/test_download.py::test_grabdata_url_only FAILED [ 23%] 100s tests/test_download.py::test_grabdata_with_fpath FAILED [ 24%] 100s tests/test_download.py::test_grabdata_value_error PASSED [ 24%] 100s tests/test_download.py::test_download_bad_url SKIPPED (This takes a ...) [ 24%] 100s tests/test_download.py::test_grabdata_fname_only FAILED [ 25%] 100s tests/test_download.py::test_grabdata_dpath_only FAILED [ 25%] 100s tests/test_download.py::test_grabdata_fpath_and_dpath PASSED [ 26%] 101s tests/test_download.py::test_grabdata_hash_typo FAILED [ 26%] 101s tests/test_download.py::test_deprecated_grabdata_args PASSED [ 27%] 101s tests/test_download.py::test_local_download FAILED [ 27%] 101s tests/test_download.py::test_download_with_progkw FAILED [ 27%] 101s tests/test_download.py::test_download_with_filesize FAILED [ 28%] 101s tests/test_download.py::test_grabdata FAILED [ 28%] 101s tests/test_download.py::test_grabdata_same_fpath_different_url FAILED [ 29%] 102s tests/test_download.py::test_grabdata_delete_hash_stamp FAILED [ 29%] 102s tests/test_download.py::test_download_with_io FAILED [ 29%] 102s tests/test_download.py::test_download_with_sha1_hasher FAILED [ 30%] 102s tests/test_editable_modules.py::test_import_of_editable_install SKIPPED [ 30%] 102s tests/test_func.py::test_compatible_keywords PASSED [ 31%] 102s tests/test_func.py::test_positional_only_args PASSED [ 31%] 102s tests/test_futures.py::test_job_pool_context_manager PASSED [ 32%] 102s tests/test_futures.py::test_job_pool_as_completed_prog_args PASSED [ 32%] 102s tests/test_futures.py::test_executor_timeout SKIPPED (long test, dem...) [ 32%] 102s tests/test_futures.py::test_job_pool_clear_completed PASSED [ 33%] 102s tests/test_futures.py::test_job_pool_transient PASSED [ 33%] 102s tests/test_futures.py::test_backends PASSED [ 34%] 102s tests/test_futures.py::test_done_callback PASSED [ 34%] 103s tests/test_futures.py::test_as_completed_timeout PASSED [ 35%] 103s tests/test_hash.py::test_hash_data_with_types SKIPPED (requires numpy) [ 35%] 103s tests/test_hash.py::test_hash_data_without_types SKIPPED (requires n...) [ 35%] 103s tests/test_hash.py::test_available PASSED [ 36%] 103s tests/test_hash.py::test_idempotency PASSED [ 36%] 103s tests/test_hash.py::test_special_floats PASSED [ 37%] 103s tests/test_hash.py::test_hashable_sequence_sanity PASSED [ 37%] 103s tests/test_hash.py::test_numpy_object_array SKIPPED (requires numpy) [ 37%] 103s tests/test_hash.py::test_ndarray_int_object_convert SKIPPED (require...) [ 38%] 103s tests/test_hash.py::test_ndarray_zeros SKIPPED (requires numpy) [ 38%] 103s tests/test_hash.py::test_nesting PASSED [ 39%] 103s tests/test_hash.py::test_numpy_int SKIPPED (requires numpy) [ 39%] 103s tests/test_hash.py::test_numpy_float SKIPPED (requires numpy) [ 40%] 103s tests/test_hash.py::test_numpy_random_state SKIPPED (requires numpy) [ 40%] 103s tests/test_hash.py::test_uuid PASSED [ 40%] 103s tests/test_hash.py::test_decimal PASSED [ 41%] 103s tests/test_hash.py::test_datetime PASSED [ 41%] 103s tests/test_hash.py::test_date PASSED [ 42%] 103s tests/test_hash.py::test_hash_data_custom_base PASSED [ 42%] 103s tests/test_hash.py::test_hash_file PASSED [ 43%] 103s tests/test_hash.py::test_empty_hash_file PASSED [ 43%] 103s tests/test_hash.py::test_convert_base_hex PASSED [ 43%] 103s tests/test_hash.py::test_convert_base_decimal PASSED [ 44%] 103s tests/test_hash.py::test_convert_base_simple PASSED [ 44%] 103s tests/test_hash.py::test_no_prefix PASSED [ 45%] 103s tests/test_hash.py::test_xxhash SKIPPED (xxhash is not available) [ 45%] 103s tests/test_hash.py::test_blake3 SKIPPED (blake3 is not available) [ 45%] 103s tests/test_hash.py::test_base32 PASSED [ 46%] 103s tests/test_hash.py::test_compatible_hash_bases SKIPPED (FIXME. THE H...) [ 46%] 103s tests/test_import.py::test_import_modpath_basic PASSED [ 47%] 103s tests/test_import.py::test_import_modpath_package PASSED [ 47%] 103s tests/test_import.py::test_import_modname_builtin PASSED [ 48%] 103s tests/test_import.py::test_modname_to_modpath_single PASSED [ 48%] 103s tests/test_import.py::test_modname_to_modpath_package PASSED [ 48%] 103s tests/test_import.py::test_modname_to_modpath_namespace PASSED [ 49%] 103s tests/test_import.py::test_package_submodules PASSED [ 49%] 103s tests/test_import.py::test_modpath_to_modname PASSED [ 50%] 103s tests/test_import.py::test_splitmodpath PASSED [ 50%] 103s tests/test_indexable.py::test_indexable_walker_map_patterns PASSED [ 51%] 103s tests/test_indexable.py::test_walk_iter_gen_behavior PASSED [ 51%] 103s tests/test_io.py::test_touch PASSED [ 51%] 103s tests/test_io.py::test_readwrite PASSED [ 52%] 103s tests/test_links.py::test_rel_dir_link PASSED [ 52%] 103s tests/test_links.py::test_rel_file_link PASSED [ 53%] 103s tests/test_links.py::test_delete_symlinks PASSED [ 53%] 103s tests/test_links.py::test_modify_directory_symlinks PASSED [ 54%] 103s tests/test_links.py::test_modify_file_symlinks PASSED [ 54%] 103s tests/test_links.py::test_broken_link PASSED [ 54%] 103s tests/test_links.py::test_cant_overwrite_file_with_symlink PASSED [ 55%] 103s tests/test_links.py::test_overwrite_symlink PASSED [ 55%] 103s tests/test_links.py::test_symlink_to_rel_symlink PASSED [ 56%] 103s tests/test_list.py::test_chunk_errors PASSED [ 56%] 103s tests/test_list.py::test_chunk_total_chunksize PASSED [ 56%] 103s tests/test_list.py::test_chunk_total_nchunks PASSED [ 57%] 103s tests/test_list.py::test_chunk_len PASSED [ 57%] 103s tests/test_orderedset.py::test_pickle PASSED [ 58%] 103s tests/test_orderedset.py::test_empty_pickle PASSED [ 58%] 103s tests/test_orderedset.py::test_order PASSED [ 59%] 103s tests/test_orderedset.py::test_binary_operations PASSED [ 59%] 103s tests/test_orderedset.py::test_indexing PASSED [ 59%] 103s tests/test_orderedset.py::test_fancy_index_class PASSED [ 60%] 103s tests/test_orderedset.py::test_pandas_compat PASSED [ 60%] 103s tests/test_orderedset.py::test_tuples PASSED [ 61%] 103s tests/test_orderedset.py::test_remove PASSED [ 61%] 103s tests/test_orderedset.py::test_remove_error PASSED [ 62%] 103s tests/test_orderedset.py::test_clear PASSED [ 62%] 103s tests/test_orderedset.py::test_update PASSED [ 62%] 103s tests/test_orderedset.py::test_pop PASSED [ 63%] 103s tests/test_orderedset.py::test_getitem_type_error PASSED [ 63%] 103s tests/test_orderedset.py::test_update_value_error PASSED [ 64%] 103s tests/test_orderedset.py::test_empty_repr PASSED [ 64%] 103s tests/test_orderedset.py::test_eq_wrong_type PASSED [ 64%] 103s tests/test_orderedset.py::test_ordered_equality PASSED [ 65%] 103s tests/test_orderedset.py::test_ordered_inequality PASSED [ 65%] 103s tests/test_orderedset.py::test_comparisons PASSED [ 66%] 103s tests/test_orderedset.py::test_unordered_equality PASSED [ 66%] 103s tests/test_orderedset.py::test_unordered_inequality PASSED [ 67%] 103s tests/test_orderedset.py::test_operator_consistency_isect PASSED [ 67%] 103s tests/test_orderedset.py::test_operator_consistency_difference PASSED [ 67%] 103s tests/test_orderedset.py::test_operator_consistency_xor PASSED [ 68%] 103s tests/test_orderedset.py::test_operator_consistency_union PASSED [ 68%] 103s tests/test_orderedset.py::test_operator_consistency_subset PASSED [ 69%] 103s tests/test_orderedset.py::test_operator_consistency_superset PASSED [ 69%] 103s tests/test_orderedset.py::test_operator_consistency_disjoint PASSED [ 70%] 103s tests/test_orderedset.py::test_bitwise_and_consistency PASSED [ 70%] 103s tests/test_oset.py::test_operators PASSED [ 70%] 103s tests/test_oset.py::test_equality PASSED [ 71%] 103s tests/test_path.py::test_pathlib_compatability PASSED [ 71%] 103s tests/test_path.py::test_tempdir PASSED [ 72%] 103s tests/test_path.py::test_augpath_identity PASSED [ 72%] 103s tests/test_path.py::test_augpath_dpath PASSED [ 72%] 103s tests/test_path.py::test_ensuredir_recreate PASSED [ 73%] 103s tests/test_path.py::test_ensuredir_verbosity PASSED [ 73%] 103s tests/test_path.py::test_copy_directory_cases PASSED [ 74%] 103s tests/test_path.py::test_move_directory_cases PASSED [ 74%] 103s tests/test_pathlib.py::test_move_dir_to_non_existing PASSED [ 75%] 103s tests/test_pathlib.py::test_move_to_nested_non_existing PASSED [ 75%] 103s tests/test_pathlib.py::test_move_dir_to_existing_dir_noconflict PASSED [ 75%] 103s tests/test_pathlib.py::test_move_dir_to_existing_dir_withconflict PASSED [ 76%] 103s tests/test_pathlib.py::test_copy_basic PASSED [ 76%] 103s tests/test_pathlib.py::test_copy_meta PASSED [ 77%] 103s tests/test_pathlib.py::test_move_basic PASSED [ 77%] 103s tests/test_pathlib.py::test_move_meta PASSED [ 78%] 103s tests/test_pathlib.py::test_copy_dir_to_non_existing PASSED [ 78%] 103s tests/test_pathlib.py::test_copy_to_nested_non_existing_with_different_symlink_flags PASSED [ 78%] 103s tests/test_pathlib.py::test_copy_dir_to_existing_dir_noconflict PASSED [ 79%] 103s tests/test_pathlib.py::test_copy_dir_to_existing_dir_withconflict PASSED [ 79%] 103s tests/test_platform.py::test_compressuser_without_home PASSED [ 80%] 103s tests/test_platform.py::test_find_path_no_path PASSED [ 80%] 103s tests/test_platform.py::test_find_exe_idempotence PASSED [ 81%] 103s tests/test_platform.py::test_find_exe_no_exist PASSED [ 81%] 103s tests/test_progiter.py::test_rate_format_string PASSED [ 81%] 103s tests/test_progiter.py::test_rate_format PASSED [ 82%] 103s tests/test_progiter.py::test_progiter PASSED [ 82%] 103s tests/test_progiter.py::test_progiter_offset_10 PASSED [ 83%] 103s tests/test_progiter.py::test_progiter_offset_0 PASSED [ 83%] 103s tests/test_progiter.py::test_unknown_total PASSED [ 83%] 103s tests/test_progiter.py::test_initial PASSED [ 84%] 103s tests/test_progiter.py::test_clearline PASSED [ 84%] 103s tests/test_progiter.py::test_disabled PASSED [ 85%] 103s tests/test_progiter.py::test_eta_window_None PASSED [ 85%] 103s tests/test_progiter.py::test_adjust_freq PASSED [ 86%] 103s tests/test_progiter.py::test_tqdm_compatibility PASSED [ 86%] 103s tests/test_progiter.py::test_adjust_fast_early_slow_late_doesnt_get_stuck PASSED [ 86%] 103s tests/test_progiter.py::test_adjust_slow_early_fast_late_doesnt_spam PASSED [ 87%] 103s tests/test_progiter.py::test_homogeneous_heuristic_with_iter_lengths PASSED [ 87%] 104s tests/test_progiter.py::test_mixed_iteration_and_step PASSED [ 88%] 104s tests/test_progiter.py::test_end_message_is_displayed PASSED [ 88%] 104s tests/test_progiter.py::test_standalone_display PASSED [ 89%] 104s tests/test_progiter.py::test_no_percent PASSED [ 89%] 104s tests/test_progiter.py::test_clearline_padding PASSED [ 89%] 104s tests/test_progiter.py::test_extra_callback PASSED [ 90%] 104s tests/test_repr.py::test_newlines PASSED [ 90%] 104s tests/test_repr.py::test_negative_newlines PASSED [ 91%] 104s tests/test_repr.py::test_compact_brace PASSED [ 91%] 104s tests/test_repr.py::test_empty PASSED [ 91%] 104s tests/test_repr.py::test_list_of_numpy SKIPPED (numpy is optional) [ 92%] 104s tests/test_repr.py::test_dict_of_numpy SKIPPED (numpy is optional) [ 92%] 104s tests/test_repr.py::test_numpy_scalar_precision SKIPPED (numpy is op...) [ 93%] 104s tests/test_repr.py::test_urepr_tuple_keys PASSED [ 93%] 104s tests/test_repr.py::test_newline_keys PASSED [ 94%] 104s tests/test_repr.py::test_format_inf PASSED [ 94%] 104s tests/test_repr.py::test_autosort PASSED [ 94%] 104s tests/test_repr.py::test_align_with_nobrace PASSED [ 95%] 104s tests/test_str.py::test_capture_stdout_enabled PASSED [ 95%] 104s tests/test_str.py::test_capture_stdout_exception PASSED [ 96%] 104s tests/test_stream.py::test_capture_stream_error PASSED [ 96%] 104s tests/test_time.py::test_timer_nonewline PASSED [ 97%] 104s tests/test_time.py::test_timestamp PASSED [ 97%] 104s tests/test_time.py::test_timer_default_verbosity PASSED [ 97%] 104s tests/test_time.py::test_timer_error PASSED [ 98%] 104s tests/test_time.py::test_timestamp_corner_cases PASSED [ 98%] 104s tests/test_time.py::test_timeparse_minimal PASSED [ 99%] 104s tests/test_time.py::test_timeparse_with_dateutil PASSED [ 99%] 104s tests/test_time.py::test_timeparse_bad_stamps PASSED [100%] 104s 104s =================================== FAILURES =================================== 104s ____________________________ test_download_no_fpath ____________________________ 104s 104s @pytest.mark.timeout(TIMEOUT) 104s def test_download_no_fpath(): 104s # url = 'http://i.imgur.com/rqwaDag.png' 104s # if not ub.argflag('--network'): 104s # pytest.skip('not running network tests') 104s url = _demo_url() 104s 104s dpath = ub.Path.appdir('ubelt/tests/test_download').ensuredir() 104s fname = basename(url) 104s fpath = join(dpath, fname) 104s 104s ub.delete(fpath) 104s assert not exists(fpath) 104s 104s > got_fpath = ub.download(url, appname='ubelt/tests/test_download') 104s 104s tests/test_download.py:30: 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:198: in download 104s urldata = urlopen(req, timeout=timeout) 104s /usr/lib/python3.13/urllib/request.py:189: in urlopen 104s return opener.open(url, data, timeout) 104s /usr/lib/python3.13/urllib/request.py:495: in open 104s response = meth(req, response) 104s /usr/lib/python3.13/urllib/request.py:604: in http_response 104s response = self.parent.error( 104s /usr/lib/python3.13/urllib/request.py:533: in error 104s return self._call_chain(*args) 104s /usr/lib/python3.13/urllib/request.py:466: in _call_chain 104s result = func(*args) 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s 104s self = 104s req = 104s fp = , code = 503 104s msg = 'Service Unavailable' 104s hdrs = 104s 104s def http_error_default(self, req, fp, code, msg, hdrs): 104s > raise HTTPError(req.full_url, code, msg, hdrs, fp) 104s E urllib.error.HTTPError: HTTP Error 503: Service Unavailable 104s 104s /usr/lib/python3.13/urllib/request.py:613: HTTPError 104s ---------------------------- Captured stdout setup ----------------------------- 104s port = 60837 104s ----------------------------- Captured stdout call ----------------------------- 104s Downloading url='http://localhost:60837/file_10_0.txt' to fpath='/root/.cache/ubelt/tests/test_download/file_10_0.txt' 104s ___________________________ test_download_with_fpath ___________________________ 104s 104s @pytest.mark.timeout(TIMEOUT) 104s def test_download_with_fpath(): 104s # url = 'http://i.imgur.com/rqwaDag.png' 104s # if not ub.argflag('--network'): 104s # pytest.skip('not running network tests') 104s url = _demo_url(1201) 104s 104s dpath = ub.Path.appdir('ubelt/tests/test_download').ensuredir() 104s fname = basename(url) 104s fpath = join(dpath, fname) 104s 104s ub.delete(fpath) 104s assert not exists(fpath) 104s 104s > got_fpath = ub.download(url, fpath=fpath, 104s appname='ubelt/tests/test_download') 104s 104s tests/test_download.py:50: 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:198: in download 104s urldata = urlopen(req, timeout=timeout) 104s /usr/lib/python3.13/urllib/request.py:189: in urlopen 104s return opener.open(url, data, timeout) 104s /usr/lib/python3.13/urllib/request.py:495: in open 104s response = meth(req, response) 104s /usr/lib/python3.13/urllib/request.py:604: in http_response 104s response = self.parent.error( 104s /usr/lib/python3.13/urllib/request.py:533: in error 104s return self._call_chain(*args) 104s /usr/lib/python3.13/urllib/request.py:466: in _call_chain 104s result = func(*args) 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s 104s self = 104s req = 104s fp = , code = 503 104s msg = 'Service Unavailable' 104s hdrs = 104s 104s def http_error_default(self, req, fp, code, msg, hdrs): 104s > raise HTTPError(req.full_url, code, msg, hdrs, fp) 104s E urllib.error.HTTPError: HTTP Error 503: Service Unavailable 104s 104s /usr/lib/python3.13/urllib/request.py:613: HTTPError 104s ----------------------------- Captured stdout call ----------------------------- 104s Downloading url='http://localhost:60837/file_1201_0.txt' to fpath='/root/.cache/ubelt/tests/test_download/file_1201_0.txt' 104s ___________________________ test_download_chunksize ____________________________ 104s 104s @pytest.mark.timeout(TIMEOUT) 104s def test_download_chunksize(): 104s # url = 'https://www.dropbox.com/s/jl506apezj42zjz/ibeis-win32-setup-ymd_hm-2015-08-01_16-28.exe?dl=1' 104s # url = 'http://i.imgur.com/rqwaDag.png' 104s # if not ub.argflag('--network'): 104s # pytest.skip('not running network tests') 104s url = _demo_url() 104s 104s dpath = ub.Path.appdir('ubelt/tests/test_download').ensuredir() 104s fname = basename(url) 104s fpath = join(dpath, fname) 104s 104s ub.delete(fpath) 104s assert not exists(fpath) 104s 104s > got_fpath = ub.download(url, chunksize=2, appname='ubelt/tests/test_download') 104s 104s tests/test_download.py:75: 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:198: in download 104s urldata = urlopen(req, timeout=timeout) 104s /usr/lib/python3.13/urllib/request.py:189: in urlopen 104s return opener.open(url, data, timeout) 104s /usr/lib/python3.13/urllib/request.py:495: in open 104s response = meth(req, response) 104s /usr/lib/python3.13/urllib/request.py:604: in http_response 104s response = self.parent.error( 104s /usr/lib/python3.13/urllib/request.py:533: in error 104s return self._call_chain(*args) 104s /usr/lib/python3.13/urllib/request.py:466: in _call_chain 104s result = func(*args) 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s 104s self = 104s req = 104s fp = , code = 503 104s msg = 'Service Unavailable' 104s hdrs = 104s 104s def http_error_default(self, req, fp, code, msg, hdrs): 104s > raise HTTPError(req.full_url, code, msg, hdrs, fp) 104s E urllib.error.HTTPError: HTTP Error 503: Service Unavailable 104s 104s /usr/lib/python3.13/urllib/request.py:613: HTTPError 104s ----------------------------- Captured stdout call ----------------------------- 104s Downloading url='http://localhost:60837/file_10_0.txt' to fpath='/root/.cache/ubelt/tests/test_download/file_10_0.txt' 104s _________________________ test_download_cover_hashers __________________________ 104s 104s @pytest.mark.timeout(TIMEOUT) 104s def test_download_cover_hashers(): 104s # url = 'https://www.dropbox.com/s/jl506apezj42zjz/ibeis-win32-setup-ymd_hm-2015-08-01_16-28.exe?dl=1' 104s # url = 'http://i.imgur.com/rqwaDag.png' 104s # if not ub.argflag('--network'): 104s # pytest.skip('not running network tests') 104s url = _demo_url() 104s 104s dpath = ub.Path.appdir('ubelt/tests/test_download').ensuredir() 104s fname = basename(url) 104s 104s # add coverage for different hashers 104s > ub.download(url, hasher='md5', hash_prefix='e09c80c42fda55f9d992e59ca6b33', 104s dpath=dpath, fname=fname) 104s 104s tests/test_download.py:93: 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:198: in download 104s urldata = urlopen(req, timeout=timeout) 104s /usr/lib/python3.13/urllib/request.py:189: in urlopen 104s return opener.open(url, data, timeout) 104s /usr/lib/python3.13/urllib/request.py:495: in open 104s response = meth(req, response) 104s /usr/lib/python3.13/urllib/request.py:604: in http_response 104s response = self.parent.error( 104s /usr/lib/python3.13/urllib/request.py:533: in error 104s return self._call_chain(*args) 104s /usr/lib/python3.13/urllib/request.py:466: in _call_chain 104s result = func(*args) 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s 104s self = 104s req = 104s fp = , code = 503 104s msg = 'Service Unavailable' 104s hdrs = 104s 104s def http_error_default(self, req, fp, code, msg, hdrs): 104s > raise HTTPError(req.full_url, code, msg, hdrs, fp) 104s E urllib.error.HTTPError: HTTP Error 503: Service Unavailable 104s 104s /usr/lib/python3.13/urllib/request.py:613: HTTPError 104s ----------------------------- Captured stdout call ----------------------------- 104s Downloading url='http://localhost:60837/file_10_0.txt' to fpath='/root/.cache/ubelt/tests/test_download/file_10_0.txt' 104s ____________________________ test_download_hashalgo ____________________________ 104s 104s @pytest.mark.timeout(TIMEOUT) 104s def test_download_hashalgo(): 104s # url = 'https://www.dropbox.com/s/jl506apezj42zjz/ibeis-win32-setup-ymd_hm-2015-08-01_16-28.exe?dl=1' 104s import hashlib 104s 104s # url = 'http://i.imgur.com/rqwaDag.png' 104s # if not ub.argflag('--network'): 104s # pytest.skip('not running network tests') 104s url = _demo_url() 104s 104s dpath = ub.Path.appdir('ubelt/tests/test_download').ensuredir() 104s fname = basename(url) 104s fpath = join(dpath, fname) 104s 104s ub.delete(fpath) 104s assert not exists(fpath) 104s 104s > got_fpath = ub.download(url, 104s hash_prefix='e09c80c42fda55f9d992e59ca6b3307d', 104s appname='ubelt/tests/test_download', 104s hasher=hashlib.md5()) 104s 104s tests/test_download.py:116: 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:198: in download 104s urldata = urlopen(req, timeout=timeout) 104s /usr/lib/python3.13/urllib/request.py:189: in urlopen 104s return opener.open(url, data, timeout) 104s /usr/lib/python3.13/urllib/request.py:495: in open 104s response = meth(req, response) 104s /usr/lib/python3.13/urllib/request.py:604: in http_response 104s response = self.parent.error( 104s /usr/lib/python3.13/urllib/request.py:533: in error 104s return self._call_chain(*args) 104s /usr/lib/python3.13/urllib/request.py:466: in _call_chain 104s result = func(*args) 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s 104s self = 104s req = 104s fp = , code = 503 104s msg = 'Service Unavailable' 104s hdrs = 104s 104s def http_error_default(self, req, fp, code, msg, hdrs): 104s > raise HTTPError(req.full_url, code, msg, hdrs, fp) 104s E urllib.error.HTTPError: HTTP Error 503: Service Unavailable 104s 104s /usr/lib/python3.13/urllib/request.py:613: HTTPError 104s ----------------------------- Captured stdout call ----------------------------- 104s Downloading url='http://localhost:60837/file_10_0.txt' to fpath='/root/.cache/ubelt/tests/test_download/file_10_0.txt' 104s _____________________________ test_grabdata_cache ______________________________ 104s 104s @pytest.mark.timeout(TIMEOUT) 104s def test_grabdata_cache(): 104s """ 104s Check where the url is downloaded to when fpath is not specified. 104s """ 104s # url = 'http://i.imgur.com/rqwaDag.png' 104s # if not ub.argflag('--network'): 104s # pytest.skip('not running network tests') 104s url = _demo_url() 104s 104s dpath = ub.Path.appdir('ubelt/tests/test_download').ensuredir() 104s fname = basename(url) 104s fpath = join(dpath, fname) 104s 104s > got_fpath = ub.grabdata(url, appname='ubelt/tests/test_download') 104s 104s tests/test_download.py:139: 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:501: in grabdata 104s fpath = download( 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:198: in download 104s urldata = urlopen(req, timeout=timeout) 104s /usr/lib/python3.13/urllib/request.py:189: in urlopen 104s return opener.open(url, data, timeout) 104s /usr/lib/python3.13/urllib/request.py:495: in open 104s response = meth(req, response) 104s /usr/lib/python3.13/urllib/request.py:604: in http_response 104s response = self.parent.error( 104s /usr/lib/python3.13/urllib/request.py:533: in error 104s return self._call_chain(*args) 104s /usr/lib/python3.13/urllib/request.py:466: in _call_chain 104s result = func(*args) 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s 104s self = 104s req = 104s fp = , code = 503 104s msg = 'Service Unavailable' 104s hdrs = 104s 104s def http_error_default(self, req, fp, code, msg, hdrs): 104s > raise HTTPError(req.full_url, code, msg, hdrs, fp) 104s E urllib.error.HTTPError: HTTP Error 503: Service Unavailable 104s 104s /usr/lib/python3.13/urllib/request.py:613: HTTPError 104s ----------------------------- Captured stdout call ----------------------------- 104s [cacher] ... file_10_0.txt.stamp cache miss 104s [cacher] stamp expired no_cert 104s Downloading url='http://localhost:60837/file_10_0.txt' to fpath='/root/.cache/ubelt/tests/test_download/file_10_0.txt' 104s _____________________________ test_grabdata_nohash _____________________________ 104s 104s @pytest.mark.timeout(TIMEOUT) 104s def test_grabdata_nohash(): 104s """ 104s Check where the url is downloaded to when fpath is not specified. 104s """ 104s url = _demo_url() 104s dpath = ub.Path.appdir('ubelt/tests/test_download/test-grabdata-nohash').ensuredir() 104s fname = basename(url) 104s fpath = (dpath / fname).delete() 104s assert not fpath.exists() 104s > ub.grabdata(url, fpath=fpath, hasher=None, verbose=10) 104s 104s tests/test_download.py:160: 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:501: in grabdata 104s fpath = download( 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:198: in download 104s urldata = urlopen(req, timeout=timeout) 104s /usr/lib/python3.13/urllib/request.py:189: in urlopen 104s return opener.open(url, data, timeout) 104s /usr/lib/python3.13/urllib/request.py:495: in open 104s response = meth(req, response) 104s /usr/lib/python3.13/urllib/request.py:604: in http_response 104s response = self.parent.error( 104s /usr/lib/python3.13/urllib/request.py:533: in error 104s return self._call_chain(*args) 104s /usr/lib/python3.13/urllib/request.py:466: in _call_chain 104s result = func(*args) 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s 104s self = 104s req = 104s fp = , code = 503 104s msg = 'Service Unavailable' 104s hdrs = 104s 104s def http_error_default(self, req, fp, code, msg, hdrs): 104s > raise HTTPError(req.full_url, code, msg, hdrs, fp) 104s E urllib.error.HTTPError: HTTP Error 503: Service Unavailable 104s 104s /usr/lib/python3.13/urllib/request.py:613: HTTPError 104s ----------------------------- Captured stdout call ----------------------------- 104s [cacher] tryload fname=file_10_0.txt.stamp 104s [cacher] ... cache does not exist: dpath=test-grabdata-nohash fname=file_10_0.txt.stamp cfgstr= 104s [cacher] ... file_10_0.txt.stamp cache miss 104s [cacher] stamp expired no_cert 104s Downloading url='http://localhost:60837/file_10_0.txt' to fpath=Path('/root/.cache/ubelt/tests/test_download/test-grabdata-nohash/file_10_0.txt') 104s ____________________________ test_grabdata_url_only ____________________________ 104s 104s @pytest.mark.timeout(TIMEOUT) 104s def test_grabdata_url_only(): 104s """ 104s Check where the url is downloaded to when fpath is not specified. 104s """ 104s # url = 'http://i.imgur.com/rqwaDag.png' 104s # if not ub.argflag('--network'): 104s # pytest.skip('not running network tests') 104s url = _demo_url() 104s 104s dpath = ub.Path.appdir('ubelt') 104s fname = basename(url) 104s fpath = os.fspath(dpath / fname) 104s 104s > got_fpath = ub.grabdata(url) 104s 104s tests/test_download.py:184: 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:501: in grabdata 104s fpath = download( 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:198: in download 104s urldata = urlopen(req, timeout=timeout) 104s /usr/lib/python3.13/urllib/request.py:189: in urlopen 104s return opener.open(url, data, timeout) 104s /usr/lib/python3.13/urllib/request.py:495: in open 104s response = meth(req, response) 104s /usr/lib/python3.13/urllib/request.py:604: in http_response 104s response = self.parent.error( 104s /usr/lib/python3.13/urllib/request.py:533: in error 104s return self._call_chain(*args) 104s /usr/lib/python3.13/urllib/request.py:466: in _call_chain 104s result = func(*args) 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s 104s self = 104s req = 104s fp = , code = 503 104s msg = 'Service Unavailable' 104s hdrs = 104s 104s def http_error_default(self, req, fp, code, msg, hdrs): 104s > raise HTTPError(req.full_url, code, msg, hdrs, fp) 104s E urllib.error.HTTPError: HTTP Error 503: Service Unavailable 104s 104s /usr/lib/python3.13/urllib/request.py:613: HTTPError 104s ----------------------------- Captured stdout call ----------------------------- 104s [cacher] ... file_10_0.txt.stamp cache miss 104s [cacher] stamp expired no_cert 104s Downloading url='http://localhost:60837/file_10_0.txt' to fpath='/root/.cache/ubelt/file_10_0.txt' 104s ___________________________ test_grabdata_with_fpath ___________________________ 104s 104s @pytest.mark.timeout(TIMEOUT) 104s def test_grabdata_with_fpath(): 104s """ 104s Check where the url is downloaded to when fpath is not specified. 104s """ 104s # url = 'http://i.imgur.com/rqwaDag.png' 104s # if not ub.argflag('--network'): 104s # pytest.skip('not running network tests') 104s url = _demo_url() 104s 104s dpath = ub.Path.appdir('ubelt/tests/test_download').ensuredir() 104s fname = basename(url) 104s fpath = join(dpath, fname) 104s 104s > got_fpath = ub.grabdata(url, fpath=fpath, verbose=3) 104s 104s tests/test_download.py:203: 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:501: in grabdata 104s fpath = download( 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:198: in download 104s urldata = urlopen(req, timeout=timeout) 104s /usr/lib/python3.13/urllib/request.py:189: in urlopen 104s return opener.open(url, data, timeout) 104s /usr/lib/python3.13/urllib/request.py:495: in open 104s response = meth(req, response) 104s /usr/lib/python3.13/urllib/request.py:604: in http_response 104s response = self.parent.error( 104s /usr/lib/python3.13/urllib/request.py:533: in error 104s return self._call_chain(*args) 104s /usr/lib/python3.13/urllib/request.py:466: in _call_chain 104s result = func(*args) 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s 104s self = 104s req = 104s fp = , code = 503 104s msg = 'Service Unavailable' 104s hdrs = 104s 104s def http_error_default(self, req, fp, code, msg, hdrs): 104s > raise HTTPError(req.full_url, code, msg, hdrs, fp) 104s E urllib.error.HTTPError: HTTP Error 503: Service Unavailable 104s 104s /usr/lib/python3.13/urllib/request.py:613: HTTPError 104s ----------------------------- Captured stdout call ----------------------------- 104s [cacher] tryload fname=file_10_0.txt.stamp 104s [cacher] ... cache does not exist: dpath=test_download fname=file_10_0.txt.stamp cfgstr= 104s [cacher] ... file_10_0.txt.stamp cache miss 104s [cacher] stamp expired no_cert 104s Downloading url='http://localhost:60837/file_10_0.txt' to fpath='/root/.cache/ubelt/tests/test_download/file_10_0.txt' 104s ___________________________ test_grabdata_fname_only ___________________________ 104s 104s @pytest.mark.timeout(TIMEOUT) 104s def test_grabdata_fname_only(): 104s # url = 'http://i.imgur.com/rqwaDag.png' 104s # if not ub.argflag('--network'): 104s # pytest.skip('not running network tests') 104s # fname = 'mario.png' 104s 104s url = _demo_url() 104s 104s dpath = ub.Path.appdir('ubelt') 104s fname = 'custom_text.txt' 104s fpath = os.fspath(dpath / fname) 104s 104s > got_fpath = ub.grabdata(url, fname=fname) 104s 104s tests/test_download.py:292: 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:501: in grabdata 104s fpath = download( 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:198: in download 104s urldata = urlopen(req, timeout=timeout) 104s /usr/lib/python3.13/urllib/request.py:189: in urlopen 104s return opener.open(url, data, timeout) 104s /usr/lib/python3.13/urllib/request.py:495: in open 104s response = meth(req, response) 104s /usr/lib/python3.13/urllib/request.py:604: in http_response 104s response = self.parent.error( 104s /usr/lib/python3.13/urllib/request.py:533: in error 104s return self._call_chain(*args) 104s /usr/lib/python3.13/urllib/request.py:466: in _call_chain 104s result = func(*args) 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s 104s self = 104s req = 104s fp = , code = 503 104s msg = 'Service Unavailable' 104s hdrs = 104s 104s def http_error_default(self, req, fp, code, msg, hdrs): 104s > raise HTTPError(req.full_url, code, msg, hdrs, fp) 104s E urllib.error.HTTPError: HTTP Error 503: Service Unavailable 104s 104s /usr/lib/python3.13/urllib/request.py:613: HTTPError 104s ----------------------------- Captured stdout call ----------------------------- 104s [cacher] ... custom_text.txt.stamp cache miss 104s [cacher] stamp expired no_cert 104s Downloading url='http://localhost:60837/file_10_0.txt' to fpath='/root/.cache/ubelt/custom_text.txt' 104s ___________________________ test_grabdata_dpath_only ___________________________ 104s 104s @pytest.mark.timeout(TIMEOUT) 104s def test_grabdata_dpath_only(): 104s # url = 'http://i.imgur.com/rqwaDag.png' 104s # if not ub.argflag('--network'): 104s # pytest.skip('not running network tests') 104s url = _demo_url() 104s 104s dpath = ub.Path.appdir('ubelt/tests/test_download').ensuredir() 104s fname = basename(url) 104s fpath = join(dpath, fname) 104s 104s > got_fpath = ub.grabdata(url, dpath=dpath) 104s 104s tests/test_download.py:308: 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:501: in grabdata 104s fpath = download( 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:198: in download 104s urldata = urlopen(req, timeout=timeout) 104s /usr/lib/python3.13/urllib/request.py:189: in urlopen 104s return opener.open(url, data, timeout) 104s /usr/lib/python3.13/urllib/request.py:495: in open 104s response = meth(req, response) 104s /usr/lib/python3.13/urllib/request.py:604: in http_response 104s response = self.parent.error( 104s /usr/lib/python3.13/urllib/request.py:533: in error 104s return self._call_chain(*args) 104s /usr/lib/python3.13/urllib/request.py:466: in _call_chain 104s result = func(*args) 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s 104s self = 104s req = 104s fp = , code = 503 104s msg = 'Service Unavailable' 104s hdrs = 104s 104s def http_error_default(self, req, fp, code, msg, hdrs): 104s > raise HTTPError(req.full_url, code, msg, hdrs, fp) 104s E urllib.error.HTTPError: HTTP Error 503: Service Unavailable 104s 104s /usr/lib/python3.13/urllib/request.py:613: HTTPError 104s ----------------------------- Captured stdout call ----------------------------- 104s [cacher] ... file_10_0.txt.stamp cache miss 104s [cacher] stamp expired no_cert 104s Downloading url='http://localhost:60837/file_10_0.txt' to fpath='/root/.cache/ubelt/tests/test_download/file_10_0.txt' 104s ___________________________ test_grabdata_hash_typo ____________________________ 104s 104s def test_grabdata_hash_typo(): 104s """ 104s CommandLine: 104s pytest ~/code/ubelt/tests/test_download.py -k test_grabdata_hash_typo --network -s 104s xdoctest ~/code/ubelt/tests/test_download.py test_grabdata_hash_typo --network 104s 104s """ 104s # url = 'https://www.dropbox.com/s/jl506apezj42zjz/ibeis-win32-setup-ymd_hm-2015-08-01_16-28.exe?dl=1' 104s # url = 'http://i.imgur.com/rqwaDag.png' 104s # if not ub.argflag('--network'): 104s # pytest.skip('not running network tests') 104s 104s url = _demo_url() 104s 104s dpath = ub.Path.appdir('ubelt/tests/test_download') 104s fname = basename(url) 104s fpath = dpath / fname 104s stamp_fpath = fpath.augment(tail='.stamp_md5.json') 104s 104s for verbose in [5]: 104s fpath.delete() 104s stamp_fpath.delete() 104s assert not exists(fpath) 104s 104s print('[STEP1] Downloading file, but we have a typo in the hash') 104s with pytest.raises(RuntimeError): 104s > got_fpath = ub.grabdata( 104s url, hash_prefix='e09c80c42fda5-typo-5f9d992e59ca6b3307d', 104s hasher='md5', verbose=verbose, 104s appname='ubelt/tests/test_download') 104s 104s tests/test_download.py:351: 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:501: in grabdata 104s fpath = download( 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:198: in download 104s urldata = urlopen(req, timeout=timeout) 104s /usr/lib/python3.13/urllib/request.py:189: in urlopen 104s return opener.open(url, data, timeout) 104s /usr/lib/python3.13/urllib/request.py:495: in open 104s response = meth(req, response) 104s /usr/lib/python3.13/urllib/request.py:604: in http_response 104s response = self.parent.error( 104s /usr/lib/python3.13/urllib/request.py:533: in error 104s return self._call_chain(*args) 104s /usr/lib/python3.13/urllib/request.py:466: in _call_chain 104s result = func(*args) 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s 104s self = 104s req = 104s fp = , code = 503 104s msg = 'Service Unavailable' 104s hdrs = 104s 104s def http_error_default(self, req, fp, code, msg, hdrs): 104s > raise HTTPError(req.full_url, code, msg, hdrs, fp) 104s E urllib.error.HTTPError: HTTP Error 503: Service Unavailable 104s 104s /usr/lib/python3.13/urllib/request.py:613: HTTPError 104s ----------------------------- Captured stdout call ----------------------------- 104s [STEP1] Downloading file, but we have a typo in the hash 104s [cacher] tryload fname=file_10_0.txt.stamp 104s [cacher] ... cache does not exist: dpath=test_download fname=file_10_0.txt.stamp cfgstr=md5 104s [cacher] ... file_10_0.txt.stamp cache miss 104s [cacher] stamp expired no_cert 104s Downloading url='http://localhost:60837/file_10_0.txt' to fpath='/root/.cache/ubelt/tests/test_download/file_10_0.txt' 104s _____________________________ test_local_download ______________________________ 104s 104s def test_local_download(): 104s server = SingletonTestServer.instance() 104s url = server.write_file(filebytes=int(10 * 2 ** 20))[0] 104s # also test with a timeout for lazy coverage 104s > ub.download(url, timeout=3000) 104s 104s tests/test_download.py:546: 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:198: in download 104s urldata = urlopen(req, timeout=timeout) 104s /usr/lib/python3.13/urllib/request.py:189: in urlopen 104s return opener.open(url, data, timeout) 104s /usr/lib/python3.13/urllib/request.py:495: in open 104s response = meth(req, response) 104s /usr/lib/python3.13/urllib/request.py:604: in http_response 104s response = self.parent.error( 104s /usr/lib/python3.13/urllib/request.py:533: in error 104s return self._call_chain(*args) 104s /usr/lib/python3.13/urllib/request.py:466: in _call_chain 104s result = func(*args) 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s 104s self = 104s req = 104s fp = , code = 503 104s msg = 'Service Unavailable' 104s hdrs = 104s 104s def http_error_default(self, req, fp, code, msg, hdrs): 104s > raise HTTPError(req.full_url, code, msg, hdrs, fp) 104s E urllib.error.HTTPError: HTTP Error 503: Service Unavailable 104s 104s /usr/lib/python3.13/urllib/request.py:613: HTTPError 104s ----------------------------- Captured stdout call ----------------------------- 104s Downloading url='http://localhost:60837/file_10485760_0.txt' to fpath='/root/.cache/ubelt/file_10485760_0.txt' 104s __________________________ test_download_with_progkw ___________________________ 104s 104s @pytest.mark.timeout(TIMEOUT) 104s def test_download_with_progkw(): 104s """ 104s Test that progkw is properly passed through to ub.download 104s """ 104s url = _demo_url(128 * 10) 104s dpath = ub.Path.appdir('ubelt/tests/test_download').ensuredir() 104s fname = basename(url) 104s fpath = join(dpath, fname) 104s with ub.CaptureStdout() as cap: 104s > ub.download(url, fpath=fpath, progkw={'verbose': 3, 'freq': 1, 'adjust': False, 'time_thresh': 0}, chunksize=128) 104s 104s tests/test_download.py:573: 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:198: in download 104s urldata = urlopen(req, timeout=timeout) 104s /usr/lib/python3.13/urllib/request.py:189: in urlopen 104s return opener.open(url, data, timeout) 104s /usr/lib/python3.13/urllib/request.py:495: in open 104s response = meth(req, response) 104s /usr/lib/python3.13/urllib/request.py:604: in http_response 104s response = self.parent.error( 104s /usr/lib/python3.13/urllib/request.py:533: in error 104s return self._call_chain(*args) 104s /usr/lib/python3.13/urllib/request.py:466: in _call_chain 104s result = func(*args) 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s 104s self = 104s req = 104s fp = , code = 503 104s msg = 'Service Unavailable' 104s hdrs = 104s 104s def http_error_default(self, req, fp, code, msg, hdrs): 104s > raise HTTPError(req.full_url, code, msg, hdrs, fp) 104s E urllib.error.HTTPError: HTTP Error 503: Service Unavailable 104s 104s /usr/lib/python3.13/urllib/request.py:613: HTTPError 104s _________________________ test_download_with_filesize __________________________ 104s 104s @pytest.mark.timeout(TIMEOUT) 104s def test_download_with_filesize(): 104s """ 104s Test that progkw is properly passed through to ub.download 104s """ 104s url = _demo_url(128 * 10) 104s dpath = ub.Path.appdir('ubelt/tests/test_download').ensuredir() 104s fname = basename(url) 104s fpath = join(dpath, fname) 104s with ub.CaptureStdout() as cap: 104s > ub.download(url, filesize=11, fpath=fpath, progkw={'verbose': 3, 'freq': 1, 'adjust': False, 'time_thresh': 0}, chunksize=128) 104s 104s tests/test_download.py:587: 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:198: in download 104s urldata = urlopen(req, timeout=timeout) 104s /usr/lib/python3.13/urllib/request.py:189: in urlopen 104s return opener.open(url, data, timeout) 104s /usr/lib/python3.13/urllib/request.py:495: in open 104s response = meth(req, response) 104s /usr/lib/python3.13/urllib/request.py:604: in http_response 104s response = self.parent.error( 104s /usr/lib/python3.13/urllib/request.py:533: in error 104s return self._call_chain(*args) 104s /usr/lib/python3.13/urllib/request.py:466: in _call_chain 104s result = func(*args) 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s 104s self = 104s req = 104s fp = , code = 503 104s msg = 'Service Unavailable' 104s hdrs = 104s 104s def http_error_default(self, req, fp, code, msg, hdrs): 104s > raise HTTPError(req.full_url, code, msg, hdrs, fp) 104s E urllib.error.HTTPError: HTTP Error 503: Service Unavailable 104s 104s /usr/lib/python3.13/urllib/request.py:613: HTTPError 104s ________________________________ test_grabdata _________________________________ 104s 104s def test_grabdata(): 104s import ubelt as ub 104s import json 104s import time 104s # fname = 'foo.bar' 104s # url = 'http://i.imgur.com/rqwaDag.png' 104s # prefix1 = '944389a39dfb8fa9' 104s url = _demo_url(128 * 11) 104s prefix1 = 'b7fa848cd088ae842a89' 104s fname = 'foo2.bar' 104s # 104s print('1. Download the file once') 104s > fpath = ub.grabdata(url, fname=fname, hash_prefix=prefix1, hasher='sha512') 104s 104s tests/test_download.py:613: 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:501: in grabdata 104s fpath = download( 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:198: in download 104s urldata = urlopen(req, timeout=timeout) 104s /usr/lib/python3.13/urllib/request.py:189: in urlopen 104s return opener.open(url, data, timeout) 104s /usr/lib/python3.13/urllib/request.py:495: in open 104s response = meth(req, response) 104s /usr/lib/python3.13/urllib/request.py:604: in http_response 104s response = self.parent.error( 104s /usr/lib/python3.13/urllib/request.py:533: in error 104s return self._call_chain(*args) 104s /usr/lib/python3.13/urllib/request.py:466: in _call_chain 104s result = func(*args) 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s 104s self = 104s req = 104s fp = , code = 503 104s msg = 'Service Unavailable' 104s hdrs = 104s 104s def http_error_default(self, req, fp, code, msg, hdrs): 104s > raise HTTPError(req.full_url, code, msg, hdrs, fp) 104s E urllib.error.HTTPError: HTTP Error 503: Service Unavailable 104s 104s /usr/lib/python3.13/urllib/request.py:613: HTTPError 104s ----------------------------- Captured stdout call ----------------------------- 104s 1. Download the file once 104s [cacher] ... foo2.bar.stamp cache miss 104s [cacher] stamp expired no_cert 104s Downloading url='http://localhost:60837/file_1408_0.txt' to fpath='/root/.cache/ubelt/foo2.bar' 104s ____________________ test_grabdata_same_fpath_different_url ____________________ 104s 104s def test_grabdata_same_fpath_different_url(): 104s url1 = _demo_url(128 * 11) 104s url2 = _demo_url(128 * 12) 104s url3 = _demo_url(128 * 13) 104s 104s fname = 'foobar' 104s > fpath1 = ub.grabdata(url1, fname=fname, hash_prefix='b7fa848cd088ae842a89ef', hasher='sha512', verbose=100) 104s 104s tests/test_download.py:662: 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:501: in grabdata 104s fpath = download( 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:198: in download 104s urldata = urlopen(req, timeout=timeout) 104s /usr/lib/python3.13/urllib/request.py:189: in urlopen 104s return opener.open(url, data, timeout) 104s /usr/lib/python3.13/urllib/request.py:495: in open 104s response = meth(req, response) 104s /usr/lib/python3.13/urllib/request.py:604: in http_response 104s response = self.parent.error( 104s /usr/lib/python3.13/urllib/request.py:533: in error 104s return self._call_chain(*args) 104s /usr/lib/python3.13/urllib/request.py:466: in _call_chain 104s result = func(*args) 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s 104s self = 104s req = 104s fp = , code = 503 104s msg = 'Service Unavailable' 104s hdrs = 104s 104s def http_error_default(self, req, fp, code, msg, hdrs): 104s > raise HTTPError(req.full_url, code, msg, hdrs, fp) 104s E urllib.error.HTTPError: HTTP Error 503: Service Unavailable 104s 104s /usr/lib/python3.13/urllib/request.py:613: HTTPError 104s ----------------------------- Captured stdout call ----------------------------- 104s [cacher] tryload fname=foobar.stamp 104s [cacher] ... cache does not exist: dpath=ubelt fname=foobar.stamp cfgstr=sha512 104s [cacher] ... foobar.stamp cache miss 104s [cacher] stamp expired no_cert 104s Downloading url='http://localhost:60837/file_1408_0.txt' to fpath='/root/.cache/ubelt/foobar' 104s _______________________ test_grabdata_delete_hash_stamp ________________________ 104s 104s def test_grabdata_delete_hash_stamp(): 104s import ubelt as ub 104s fname = 'foo3.bar' 104s url = _demo_url(128 * 12) 104s prefix1 = '43f92597d7eb08b57c88b636' 104s > fpath = ub.grabdata(url, fname=fname, hash_prefix=prefix1) 104s 104s tests/test_download.py:687: 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:501: in grabdata 104s fpath = download( 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:198: in download 104s urldata = urlopen(req, timeout=timeout) 104s /usr/lib/python3.13/urllib/request.py:189: in urlopen 104s return opener.open(url, data, timeout) 104s /usr/lib/python3.13/urllib/request.py:495: in open 104s response = meth(req, response) 104s /usr/lib/python3.13/urllib/request.py:604: in http_response 104s response = self.parent.error( 104s /usr/lib/python3.13/urllib/request.py:533: in error 104s return self._call_chain(*args) 104s /usr/lib/python3.13/urllib/request.py:466: in _call_chain 104s result = func(*args) 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s 104s self = 104s req = 104s fp = , code = 503 104s msg = 'Service Unavailable' 104s hdrs = 104s 104s def http_error_default(self, req, fp, code, msg, hdrs): 104s > raise HTTPError(req.full_url, code, msg, hdrs, fp) 104s E urllib.error.HTTPError: HTTP Error 503: Service Unavailable 104s 104s /usr/lib/python3.13/urllib/request.py:613: HTTPError 104s ----------------------------- Captured stdout call ----------------------------- 104s [cacher] ... foo3.bar.stamp cache miss 104s [cacher] stamp expired no_cert 104s Downloading url='http://localhost:60837/file_1536_0.txt' to fpath='/root/.cache/ubelt/foo3.bar' 104s ____________________________ test_download_with_io _____________________________ 104s 104s def test_download_with_io(): 104s import ubelt as ub 104s import io 104s url = _demo_url(128 * 3) 104s file = io.BytesIO() 104s > fpath = ub.download(url, file) 104s 104s tests/test_download.py:698: 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:198: in download 104s urldata = urlopen(req, timeout=timeout) 104s /usr/lib/python3.13/urllib/request.py:189: in urlopen 104s return opener.open(url, data, timeout) 104s /usr/lib/python3.13/urllib/request.py:495: in open 104s response = meth(req, response) 104s /usr/lib/python3.13/urllib/request.py:604: in http_response 104s response = self.parent.error( 104s /usr/lib/python3.13/urllib/request.py:533: in error 104s return self._call_chain(*args) 104s /usr/lib/python3.13/urllib/request.py:466: in _call_chain 104s result = func(*args) 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s 104s self = 104s req = 104s fp = , code = 503 104s msg = 'Service Unavailable' 104s hdrs = 104s 104s def http_error_default(self, req, fp, code, msg, hdrs): 104s > raise HTTPError(req.full_url, code, msg, hdrs, fp) 104s E urllib.error.HTTPError: HTTP Error 503: Service Unavailable 104s 104s /usr/lib/python3.13/urllib/request.py:613: HTTPError 104s ----------------------------- Captured stdout call ----------------------------- 104s Downloading url='http://localhost:60837/file_384_0.txt' to IO object 104s ________________________ test_download_with_sha1_hasher ________________________ 104s 104s def test_download_with_sha1_hasher(): 104s import ubelt as ub 104s url = _demo_url(128 * 4) 104s > ub.download(url, hasher='sha1', hash_prefix='164557facb7392') 104s 104s tests/test_download.py:709: 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s /usr/lib/python3/dist-packages/ubelt/util_download.py:198: in download 104s urldata = urlopen(req, timeout=timeout) 104s /usr/lib/python3.13/urllib/request.py:189: in urlopen 104s return opener.open(url, data, timeout) 104s /usr/lib/python3.13/urllib/request.py:495: in open 104s response = meth(req, response) 104s /usr/lib/python3.13/urllib/request.py:604: in http_response 104s response = self.parent.error( 104s /usr/lib/python3.13/urllib/request.py:533: in error 104s return self._call_chain(*args) 104s /usr/lib/python3.13/urllib/request.py:466: in _call_chain 104s result = func(*args) 104s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 104s 104s self = 104s req = 104s fp = , code = 503 104s msg = 'Service Unavailable' 104s hdrs = 104s 104s def http_error_default(self, req, fp, code, msg, hdrs): 104s > raise HTTPError(req.full_url, code, msg, hdrs, fp) 104s E urllib.error.HTTPError: HTTP Error 503: Service Unavailable 104s 104s /usr/lib/python3.13/urllib/request.py:613: HTTPError 104s ----------------------------- Captured stdout call ----------------------------- 104s Downloading url='http://localhost:60837/file_512_0.txt' to fpath='/root/.cache/ubelt/file_512_0.txt' 104s =============================== warnings summary =============================== 104s tests/test_download.py:16 104s /tmp/autopkgtest.AXCAV5/autopkgtest_tmp/tests/test_download.py:16: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 104s @pytest.mark.timeout(TIMEOUT) 104s 104s tests/test_download.py:36 104s /tmp/autopkgtest.AXCAV5/autopkgtest_tmp/tests/test_download.py:36: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 104s @pytest.mark.timeout(TIMEOUT) 104s 104s tests/test_download.py:60 104s /tmp/autopkgtest.AXCAV5/autopkgtest_tmp/tests/test_download.py:60: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 104s @pytest.mark.timeout(TIMEOUT) 104s 104s tests/test_download.py:81 104s /tmp/autopkgtest.AXCAV5/autopkgtest_tmp/tests/test_download.py:81: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 104s @pytest.mark.timeout(TIMEOUT) 104s 104s tests/test_download.py:99 104s /tmp/autopkgtest.AXCAV5/autopkgtest_tmp/tests/test_download.py:99: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 104s @pytest.mark.timeout(TIMEOUT) 104s 104s tests/test_download.py:125 104s /tmp/autopkgtest.AXCAV5/autopkgtest_tmp/tests/test_download.py:125: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 104s @pytest.mark.timeout(TIMEOUT) 104s 104s tests/test_download.py:150 104s /tmp/autopkgtest.AXCAV5/autopkgtest_tmp/tests/test_download.py:150: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 104s @pytest.mark.timeout(TIMEOUT) 104s 104s tests/test_download.py:170 104s /tmp/autopkgtest.AXCAV5/autopkgtest_tmp/tests/test_download.py:170: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 104s @pytest.mark.timeout(TIMEOUT) 104s 104s tests/test_download.py:189 104s /tmp/autopkgtest.AXCAV5/autopkgtest_tmp/tests/test_download.py:189: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 104s @pytest.mark.timeout(TIMEOUT) 104s 104s tests/test_download.py:243 104s /tmp/autopkgtest.AXCAV5/autopkgtest_tmp/tests/test_download.py:243: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 104s @pytest.mark.timeout(TIMEOUT * 2) 104s 104s tests/test_download.py:279 104s /tmp/autopkgtest.AXCAV5/autopkgtest_tmp/tests/test_download.py:279: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 104s @pytest.mark.timeout(TIMEOUT) 104s 104s tests/test_download.py:297 104s /tmp/autopkgtest.AXCAV5/autopkgtest_tmp/tests/test_download.py:297: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 104s @pytest.mark.timeout(TIMEOUT) 104s 104s tests/test_download.py:313 104s /tmp/autopkgtest.AXCAV5/autopkgtest_tmp/tests/test_download.py:313: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 104s @pytest.mark.timeout(TIMEOUT) 104s 104s tests/test_download.py:563 104s /tmp/autopkgtest.AXCAV5/autopkgtest_tmp/tests/test_download.py:563: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 104s @pytest.mark.timeout(TIMEOUT) 104s 104s tests/test_download.py:577 104s /tmp/autopkgtest.AXCAV5/autopkgtest_tmp/tests/test_download.py:577: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 104s @pytest.mark.timeout(TIMEOUT) 104s 104s tests/test_futures.py::test_job_pool_transient 104s tests/test_futures.py::test_job_pool_transient 104s tests/test_futures.py::test_backends 104s /usr/lib/python3.13/multiprocessing/popen_fork.py:67: DeprecationWarning: This process (pid=2259) is multi-threaded, use of fork() may lead to deadlocks in the child. 104s self.pid = os.fork() 104s 104s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 104s =========================== short test summary info ============================ 104s FAILED tests/test_download.py::test_download_no_fpath - urllib.error.HTTPErro... 104s FAILED tests/test_download.py::test_download_with_fpath - urllib.error.HTTPEr... 104s FAILED tests/test_download.py::test_download_chunksize - urllib.error.HTTPErr... 104s FAILED tests/test_download.py::test_download_cover_hashers - urllib.error.HTT... 104s FAILED tests/test_download.py::test_download_hashalgo - urllib.error.HTTPErro... 104s FAILED tests/test_download.py::test_grabdata_cache - urllib.error.HTTPError: ... 104s FAILED tests/test_download.py::test_grabdata_nohash - urllib.error.HTTPError:... 104s FAILED tests/test_download.py::test_grabdata_url_only - urllib.error.HTTPErro... 104s FAILED tests/test_download.py::test_grabdata_with_fpath - urllib.error.HTTPEr... 104s FAILED tests/test_download.py::test_grabdata_fname_only - urllib.error.HTTPEr... 104s FAILED tests/test_download.py::test_grabdata_dpath_only - urllib.error.HTTPEr... 104s FAILED tests/test_download.py::test_grabdata_hash_typo - urllib.error.HTTPErr... 104s FAILED tests/test_download.py::test_local_download - urllib.error.HTTPError: ... 104s FAILED tests/test_download.py::test_download_with_progkw - urllib.error.HTTPE... 104s FAILED tests/test_download.py::test_download_with_filesize - urllib.error.HTT... 104s FAILED tests/test_download.py::test_grabdata - urllib.error.HTTPError: HTTP E... 104s FAILED tests/test_download.py::test_grabdata_same_fpath_different_url - urlli... 104s FAILED tests/test_download.py::test_grabdata_delete_hash_stamp - urllib.error... 104s FAILED tests/test_download.py::test_download_with_io - urllib.error.HTTPError... 104s FAILED tests/test_download.py::test_download_with_sha1_hasher - urllib.error.... 104s =========== 20 failed, 200 passed, 17 skipped, 18 warnings in 6.98s ============ 104s :0: ResourceWarning: unclosed file <_io.TextIOWrapper name=11 encoding='UTF-8'> 104s :0: ResourceWarning: unclosed file <_io.TextIOWrapper name=13 encoding='UTF-8'> 104s autopkgtest [12:25:54]: test pytest: -----------------------] 104s pytest FAIL non-zero exit status 1 104s autopkgtest [12:25:54]: test pytest: - - - - - - - - - - results - - - - - - - - - - 105s autopkgtest [12:25:55]: @@@@@@@@@@@@@@@@@@@@ summary 105s pytest FAIL non-zero exit status 1 108s nova [W] Using flock in prodstack7-ppc64el 108s Creating nova instance adt-questing-ppc64el-ubelt-20250505-122410-juju-7f2275-prod-proposed-migration-environment-23-b4d12f8b-6c5d-450e-b5d2-bec4042a9284 from image adt/ubuntu-questing-ppc64el-server-20250505.img (UUID 1f333b8a-0e22-4209-a8a8-539666d3d5e7)... 108s nova [W] Timed out waiting for 363c1bb8-1b11-4e95-8173-598661b7d8ea to get deleted.