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