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