Warning: Permanently added '34.230.25.136' (ED25519) to the list of known hosts. Running (timeout=18000): unbuffer mock --spec /var/lib/copr-rpmbuild/workspace/workdir-a818tdiz/python-fsspec/python-fsspec.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-a818tdiz/python-fsspec --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1739979959.144869 -r /var/lib/copr-rpmbuild/results/configs/child.cfg INFO: mock.py version 6.0 starting (python version = 3.13.0, NVR = mock-6.0-1.fc41), args: /usr/libexec/mock/mock --spec /var/lib/copr-rpmbuild/workspace/workdir-a818tdiz/python-fsspec/python-fsspec.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-a818tdiz/python-fsspec --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1739979959.144869 -r /var/lib/copr-rpmbuild/results/configs/child.cfg Start(bootstrap): init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish(bootstrap): init plugins Start: init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish: init plugins INFO: Signal handler active Start: run INFO: Start(/var/lib/copr-rpmbuild/workspace/workdir-a818tdiz/python-fsspec/python-fsspec.spec) Config(fedora-rawhide-aarch64) Start: clean chroot Finish: clean chroot Mock Version: 6.0 INFO: Mock Version: 6.0 Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-aarch64-bootstrap-1739979959.144869/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata INFO: Guessed host environment type: unknown INFO: Using container image: registry.fedoraproject.org/fedora:rawhide INFO: Pulling image: registry.fedoraproject.org/fedora:rawhide INFO: Tagging container image as mock-bootstrap-894aaddd-a102-4e83-96e6-a143644dc386 INFO: Checking that 6e156310abda87ae3fb0567c7b120270cbf0e071e009b1c3fe6605cc5f4d4424 image matches host's architecture INFO: Copy content of container 6e156310abda87ae3fb0567c7b120270cbf0e071e009b1c3fe6605cc5f4d4424 to /var/lib/mock/fedora-rawhide-aarch64-bootstrap-1739979959.144869/root INFO: mounting 6e156310abda87ae3fb0567c7b120270cbf0e071e009b1c3fe6605cc5f4d4424 with podman image mount INFO: image 6e156310abda87ae3fb0567c7b120270cbf0e071e009b1c3fe6605cc5f4d4424 as /var/lib/containers/storage/overlay/0991c78fb949dbeb6810fe4d50e2d2c72a04b59c05e7713a520167060426a300/merged INFO: umounting image 6e156310abda87ae3fb0567c7b120270cbf0e071e009b1c3fe6605cc5f4d4424 (/var/lib/containers/storage/overlay/0991c78fb949dbeb6810fe4d50e2d2c72a04b59c05e7713a520167060426a300/merged) with podman image umount INFO: Removing image mock-bootstrap-894aaddd-a102-4e83-96e6-a143644dc386 INFO: Package manager dnf5 detected and used (fallback) INFO: Not updating bootstrap chroot, bootstrap_image_ready=True Start(bootstrap): creating root cache Finish(bootstrap): creating root cache Finish(bootstrap): chroot init Start: chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-aarch64-1739979959.144869/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Package manager dnf5 detected and used (direct choice) INFO: Buildroot is handled by package management downloaded with a bootstrap image: rpm-4.20.0-8.fc42.aarch64 rpm-sequoia-1.7.0-5.fc43.aarch64 dnf5-5.2.10.0-2.fc43.aarch64 dnf5-plugins-5.2.10.0-2.fc43.aarch64 Start: installing minimal buildroot with dnf5 Updating and loading repositories: fedora 100% | 162.7 KiB/s | 8.3 KiB | 00m00s Copr repository 100% | 80.2 KiB/s | 1.5 KiB | 00m00s Copr repository 100% | 787.1 KiB/s | 22.0 KiB | 00m00s Repositories loaded. Package Arch Version Repository Size Installing group/module packages: bash aarch64 5.2.37-3.fc43 fedora 8.2 MiB bzip2 aarch64 1.0.8-20.fc42 fedora 171.3 KiB coreutils aarch64 9.6-1.fc42 fedora 8.2 MiB cpio aarch64 2.15-2.fc41 fedora 1.2 MiB diffutils aarch64 3.10-9.fc42 fedora 1.6 MiB fedora-release-common noarch 43-0.4 fedora 20.1 KiB findutils aarch64 1:4.10.0-5.fc42 fedora 1.9 MiB gawk aarch64 5.3.1-1.fc42 fedora 2.4 MiB glibc-minimal-langpack aarch64 2.40.9000-37.fc43 fedora 0.0 B grep aarch64 3.11-10.fc42 fedora 1.0 MiB gzip aarch64 1.13-3.fc42 fedora 424.7 KiB info aarch64 7.2-3.fc42 fedora 421.6 KiB patch aarch64 2.7.6-26.fc42 fedora 262.4 KiB redhat-rpm-config noarch 342-2.fc42 fedora 186.8 KiB rpm-build aarch64 4.20.0-8.fc42 fedora 524.9 KiB sed aarch64 4.9-4.fc42 fedora 873.2 KiB shadow-utils aarch64 2:4.17.0-4.fc42 fedora 4.5 MiB tar aarch64 2:1.35-5.fc42 fedora 3.0 MiB unzip aarch64 6.0-66.fc42 fedora 470.2 KiB util-linux aarch64 2.40.4-6.fc43 fedora 6.6 MiB which aarch64 2.23-1.fc42 fedora 123.4 KiB xz aarch64 1:5.6.3-3.fc42 fedora 1.3 MiB Installing dependencies: add-determinism aarch64 0.6.0-1.fc43 fedora 2.2 MiB alternatives aarch64 1.31-3.fc42 fedora 90.1 KiB ansible-srpm-macros noarch 1-17.1.fc42 fedora 35.7 KiB audit-libs aarch64 4.0.3-2.fc42 fedora 415.2 KiB binutils aarch64 2.44-3.fc43 fedora 29.3 MiB build-reproducibility-srpm-macros noarch 0.6.0-1.fc43 fedora 735.0 B bzip2-libs aarch64 1.0.8-20.fc42 fedora 72.6 KiB ca-certificates noarch 2024.2.69_v8.0.401-5.fc42 fedora 2.6 MiB coreutils-common aarch64 9.6-1.fc42 fedora 11.1 MiB crypto-policies noarch 20250214-1.gitff7551b.fc43 fedora 137.2 KiB curl aarch64 8.12.1-1.fc43 fedora 453.2 KiB cyrus-sasl-lib aarch64 2.1.28-30.fc42 fedora 2.4 MiB debugedit aarch64 5.1-4.fc42 fedora 244.3 KiB dwz aarch64 0.15-9.fc42 fedora 322.6 KiB ed aarch64 1.21-2.fc42 fedora 154.5 KiB efi-srpm-macros noarch 6-2.fc42 fedora 40.1 KiB elfutils aarch64 0.192-8.fc42 fedora 3.1 MiB elfutils-debuginfod-client aarch64 0.192-8.fc42 fedora 143.9 KiB elfutils-default-yama-scope noarch 0.192-8.fc42 fedora 1.8 KiB elfutils-libelf aarch64 0.192-8.fc42 fedora 1.2 MiB elfutils-libs aarch64 0.192-8.fc42 fedora 746.3 KiB fedora-gpg-keys noarch 43-0.1 fedora 128.2 KiB fedora-release noarch 43-0.4 fedora 0.0 B fedora-release-identity-basic noarch 43-0.4 fedora 719.0 B fedora-repos noarch 43-0.1 fedora 4.9 KiB fedora-repos-rawhide noarch 43-0.1 fedora 2.2 KiB file aarch64 5.46-1.fc42 fedora 140.2 KiB file-libs aarch64 5.46-1.fc42 fedora 11.9 MiB filesystem aarch64 3.18-38.fc43 fedora 112.0 B filesystem-srpm-macros noarch 3.18-38.fc43 fedora 38.2 KiB fonts-srpm-macros noarch 1:2.0.5-21.fc42 fedora 55.8 KiB forge-srpm-macros noarch 0.4.0-2.fc42 fedora 38.9 KiB fpc-srpm-macros noarch 1.3-14.fc42 fedora 144.0 B gdb-minimal aarch64 16.2-1.fc43 fedora 13.0 MiB gdbm-libs aarch64 1:1.23-9.fc42 fedora 234.0 KiB ghc-srpm-macros noarch 1.9.2-2.fc42 fedora 779.0 B glibc aarch64 2.40.9000-37.fc43 fedora 6.2 MiB glibc-common aarch64 2.40.9000-37.fc43 fedora 1.3 MiB glibc-gconv-extra aarch64 2.40.9000-37.fc43 fedora 18.6 MiB gmp aarch64 1:6.3.0-2.fc41 fedora 722.0 KiB gnat-srpm-macros noarch 6-7.fc42 fedora 1.0 KiB go-srpm-macros noarch 3.6.0-6.fc42 fedora 60.8 KiB jansson aarch64 2.14-2.fc42 fedora 93.2 KiB json-c aarch64 0.18-2.fc42 fedora 138.7 KiB kernel-srpm-macros noarch 1.0-25.fc42 fedora 1.9 KiB keyutils-libs aarch64 1.6.3-5.fc42 fedora 98.3 KiB krb5-libs aarch64 1.21.3-5.fc42 fedora 2.5 MiB libacl aarch64 2.3.2-3.fc42 fedora 66.3 KiB libarchive aarch64 3.7.7-2.fc42 fedora 910.6 KiB libattr aarch64 2.5.2-5.fc42 fedora 67.1 KiB libblkid aarch64 2.40.4-6.fc43 fedora 290.5 KiB libbrotli aarch64 1.1.0-6.fc42 fedora 909.5 KiB libcap aarch64 2.73-2.fc42 fedora 506.8 KiB libcap-ng aarch64 0.8.5-4.fc42 fedora 160.9 KiB libcom_err aarch64 1.47.2-3.fc42 fedora 111.2 KiB libcurl aarch64 8.12.1-1.fc43 fedora 858.1 KiB libeconf aarch64 0.7.6-1.fc43 fedora 80.6 KiB libevent aarch64 2.1.12-15.fc42 fedora 1.1 MiB libfdisk aarch64 2.40.4-6.fc43 fedora 418.8 KiB libffi aarch64 3.4.6-5.fc42 fedora 154.4 KiB libgcc aarch64 15.0.1-0.7.fc43 fedora 222.2 KiB libgomp aarch64 15.0.1-0.7.fc43 fedora 511.2 KiB libidn2 aarch64 2.3.7-3.fc42 fedora 329.0 KiB libmount aarch64 2.40.4-6.fc43 fedora 355.8 KiB libnghttp2 aarch64 1.64.0-3.fc42 fedora 198.1 KiB libpkgconf aarch64 2.3.0-2.fc42 fedora 134.0 KiB libpsl aarch64 0.21.5-5.fc42 fedora 132.5 KiB libselinux aarch64 3.8-1.fc42 fedora 201.1 KiB libsemanage aarch64 3.8-1.fc42 fedora 360.0 KiB libsepol aarch64 3.8-1.fc42 fedora 809.9 KiB libsmartcols aarch64 2.40.4-6.fc43 fedora 224.4 KiB libssh aarch64 0.11.1-4.fc42 fedora 585.4 KiB libssh-config noarch 0.11.1-4.fc42 fedora 277.0 B libstdc++ aarch64 15.0.1-0.7.fc43 fedora 2.8 MiB libtasn1 aarch64 4.20.0-1.fc43 fedora 220.3 KiB libtool-ltdl aarch64 2.5.4-4.fc42 fedora 94.0 KiB libunistring aarch64 1.1-9.fc42 fedora 1.7 MiB libuuid aarch64 2.40.4-6.fc43 fedora 69.4 KiB libverto aarch64 0.3.2-10.fc42 fedora 69.4 KiB libxcrypt aarch64 4.4.38-6.fc43 fedora 272.5 KiB libxml2 aarch64 2.12.9-2.fc42 fedora 1.9 MiB libzstd aarch64 1.5.6-3.fc42 fedora 667.7 KiB lua-libs aarch64 5.4.7-2.fc42 fedora 328.9 KiB lua-srpm-macros noarch 1-15.fc42 fedora 1.3 KiB lz4-libs aarch64 1.10.0-2.fc42 fedora 197.4 KiB mpfr aarch64 4.2.1-6.fc42 fedora 754.6 KiB ncurses-base noarch 6.5-5.20250125.fc42 fedora 326.8 KiB ncurses-libs aarch64 6.5-5.20250125.fc42 fedora 1.2 MiB ocaml-srpm-macros noarch 10-4.fc42 fedora 1.9 KiB openblas-srpm-macros noarch 2-19.fc42 fedora 112.0 B openldap aarch64 2.6.9-3.fc42 fedora 697.3 KiB openssl-libs aarch64 1:3.2.4-1.fc43 fedora 6.3 MiB p11-kit aarch64 0.25.5-5.fc42 fedora 2.4 MiB p11-kit-trust aarch64 0.25.5-5.fc42 fedora 463.3 KiB package-notes-srpm-macros noarch 0.5-13.fc42 fedora 1.6 KiB pam-libs aarch64 1.7.0-4.fc42 fedora 222.9 KiB pcre2 aarch64 10.45-1.fc43 fedora 713.6 KiB pcre2-syntax noarch 10.45-1.fc43 fedora 273.9 KiB perl-srpm-macros noarch 1-57.fc42 fedora 861.0 B pkgconf aarch64 2.3.0-2.fc42 fedora 112.4 KiB pkgconf-m4 noarch 2.3.0-2.fc42 fedora 14.4 KiB pkgconf-pkg-config aarch64 2.3.0-2.fc42 fedora 990.0 B popt aarch64 1.19-8.fc42 fedora 144.8 KiB publicsuffix-list-dafsa noarch 20250116-1.fc42 fedora 68.5 KiB pyproject-srpm-macros noarch 1.17.0-1.fc43 fedora 1.9 KiB python-srpm-macros noarch 3.13-4.fc42 fedora 51.0 KiB qt5-srpm-macros noarch 5.15.15-1.fc42 fedora 500.0 B qt6-srpm-macros noarch 6.8.2-2.fc43 fedora 464.0 B readline aarch64 8.2-12.fc42 fedora 561.1 KiB rpm aarch64 4.20.0-8.fc42 fedora 3.3 MiB rpm-build-libs aarch64 4.20.0-8.fc42 fedora 198.6 KiB rpm-libs aarch64 4.20.0-8.fc42 fedora 733.5 KiB rpm-sequoia aarch64 1.7.0-5.fc43 fedora 2.3 MiB rust-srpm-macros noarch 26.3-4.fc42 fedora 4.8 KiB setup noarch 2.15.0-12.fc43 fedora 720.8 KiB sqlite-libs aarch64 3.49.0-1.fc43 fedora 1.5 MiB systemd-libs aarch64 257.3-7.fc43 fedora 2.3 MiB systemd-standalone-sysusers aarch64 257.3-7.fc43 fedora 329.4 KiB tree-sitter-srpm-macros noarch 0.1.0-8.fc42 fedora 6.5 KiB util-linux-core aarch64 2.40.4-6.fc43 fedora 2.4 MiB xxhash-libs aarch64 0.8.3-2.fc42 fedora 85.9 KiB xz-libs aarch64 1:5.6.3-3.fc42 fedora 202.3 KiB zig-srpm-macros noarch 1-4.fc42 fedora 1.1 KiB zip aarch64 3.0-43.fc42 fedora 762.5 KiB zlib-ng-compat aarch64 2.2.4-1.fc43 fedora 133.4 KiB zstd aarch64 1.5.6-3.fc42 fedora 1.5 MiB Installing groups: Buildsystem building group Transaction Summary: Installing: 148 packages Total size of inbound packages is 51 MiB. Need to download 0 B. After this operation, 202 MiB extra will be used (install 202 MiB, remove 0 B). [ 1/148] tar-2:1.35-5.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 2/148] bzip2-0:1.0.8-20.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 3/148] redhat-rpm-config-0:342-2.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 4/148] rpm-build-0:4.20.0-8.fc42.aar 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 5/148] unzip-0:6.0-66.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 6/148] cpio-0:2.15-2.fc41.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 7/148] which-0:2.23-1.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 8/148] bash-0:5.2.37-3.fc43.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 9/148] coreutils-0:9.6-1.fc42.aarch6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 10/148] grep-0:3.11-10.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 11/148] patch-0:2.7.6-26.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 12/148] sed-0:4.9-4.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 13/148] shadow-utils-2:4.17.0-4.fc42. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 14/148] util-linux-0:2.40.4-6.fc43.aa 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 15/148] diffutils-0:3.10-9.fc42.aarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 16/148] fedora-release-common-0:43-0. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 17/148] findutils-1:4.10.0-5.fc42.aar 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 18/148] gawk-0:5.3.1-1.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 19/148] glibc-minimal-langpack-0:2.40 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 20/148] gzip-0:1.13-3.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 21/148] info-0:7.2-3.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 22/148] xz-1:5.6.3-3.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 23/148] glibc-0:2.40.9000-37.fc43.aar 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 24/148] libacl-0:2.3.2-3.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 25/148] libselinux-0:3.8-1.fc42.aarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 26/148] bzip2-libs-0:1.0.8-20.fc42.aa 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 27/148] ansible-srpm-macros-0:1-17.1. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 28/148] build-reproducibility-srpm-ma 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 29/148] dwz-0:0.15-9.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 30/148] efi-srpm-macros-0:6-2.fc42.no 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 31/148] file-0:5.46-1.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 32/148] filesystem-srpm-macros-0:3.18 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 33/148] fonts-srpm-macros-1:2.0.5-21. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 34/148] forge-srpm-macros-0:0.4.0-2.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 35/148] fpc-srpm-macros-0:1.3-14.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 36/148] ghc-srpm-macros-0:1.9.2-2.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 37/148] gnat-srpm-macros-0:6-7.fc42.n 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 38/148] go-srpm-macros-0:3.6.0-6.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 39/148] kernel-srpm-macros-0:1.0-25.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 40/148] lua-srpm-macros-0:1-15.fc42.n 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 41/148] ocaml-srpm-macros-0:10-4.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 42/148] openblas-srpm-macros-0:2-19.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 43/148] package-notes-srpm-macros-0:0 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 44/148] perl-srpm-macros-0:1-57.fc42. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 45/148] pyproject-srpm-macros-0:1.17. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 46/148] python-srpm-macros-0:3.13-4.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 47/148] qt5-srpm-macros-0:5.15.15-1.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 48/148] qt6-srpm-macros-0:6.8.2-2.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 49/148] rpm-0:4.20.0-8.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 50/148] rust-srpm-macros-0:26.3-4.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 51/148] tree-sitter-srpm-macros-0:0.1 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 52/148] zig-srpm-macros-0:1-4.fc42.no 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 53/148] zip-0:3.0-43.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 54/148] binutils-0:2.44-3.fc43.aarch6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 55/148] debugedit-0:5.1-4.fc42.aarch6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 56/148] elfutils-0:0.192-8.fc42.aarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 57/148] elfutils-libelf-0:0.192-8.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 58/148] libarchive-0:3.7.7-2.fc42.aar 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 59/148] pkgconf-pkg-config-0:2.3.0-2. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 60/148] popt-0:1.19-8.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 61/148] readline-0:8.2-12.fc42.aarch6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 62/148] rpm-build-libs-0:4.20.0-8.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 63/148] rpm-libs-0:4.20.0-8.fc42.aarc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 64/148] zstd-0:1.5.6-3.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 65/148] filesystem-0:3.18-38.fc43.aar 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 66/148] ncurses-libs-0:6.5-5.20250125 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 67/148] coreutils-common-0:9.6-1.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 68/148] gmp-1:6.3.0-2.fc41.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 69/148] libattr-0:2.5.2-5.fc42.aarch6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 70/148] libcap-0:2.73-2.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 71/148] openssl-libs-1:3.2.4-1.fc43.a 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 72/148] systemd-libs-0:257.3-7.fc43.a 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 73/148] pcre2-0:10.45-1.fc43.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 74/148] ed-0:1.21-2.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 75/148] audit-libs-0:4.0.3-2.fc42.aar 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 76/148] libeconf-0:0.7.6-1.fc43.aarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 77/148] libsemanage-0:3.8-1.fc42.aarc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 78/148] libxcrypt-0:4.4.38-6.fc43.aar 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 79/148] pam-libs-0:1.7.0-4.fc42.aarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 80/148] setup-0:2.15.0-12.fc43.noarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 81/148] libblkid-0:2.40.4-6.fc43.aarc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 82/148] libcap-ng-0:0.8.5-4.fc42.aarc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 83/148] libfdisk-0:2.40.4-6.fc43.aarc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 84/148] libmount-0:2.40.4-6.fc43.aarc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 85/148] libsmartcols-0:2.40.4-6.fc43. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 86/148] libuuid-0:2.40.4-6.fc43.aarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 87/148] util-linux-core-0:2.40.4-6.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 88/148] zlib-ng-compat-0:2.2.4-1.fc43 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 89/148] fedora-repos-0:43-0.1.noarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 90/148] mpfr-0:4.2.1-6.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 91/148] glibc-common-0:2.40.9000-37.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 92/148] xz-libs-1:5.6.3-3.fc42.aarch6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 93/148] glibc-gconv-extra-0:2.40.9000 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 94/148] libgcc-0:15.0.1-0.7.fc43.aarc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 95/148] libsepol-0:3.8-1.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 96/148] add-determinism-0:0.6.0-1.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 97/148] file-libs-0:5.46-1.fc42.aarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 98/148] curl-0:8.12.1-1.fc43.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 99/148] alternatives-0:1.31-3.fc42.aa 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [100/148] elfutils-debuginfod-client-0: 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [101/148] jansson-0:2.14-2.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [102/148] libstdc++-0:15.0.1-0.7.fc43.a 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [103/148] elfutils-libs-0:0.192-8.fc42. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [104/148] libzstd-0:1.5.6-3.fc42.aarch6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [105/148] libxml2-0:2.12.9-2.fc42.aarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [106/148] lz4-libs-0:1.10.0-2.fc42.aarc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [107/148] pkgconf-0:2.3.0-2.fc42.aarch6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [108/148] pkgconf-m4-0:2.3.0-2.fc42.noa 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [109/148] libgomp-0:15.0.1-0.7.fc43.aar 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [110/148] lua-libs-0:5.4.7-2.fc42.aarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [111/148] rpm-sequoia-0:1.7.0-5.fc43.aa 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [112/148] sqlite-libs-0:3.49.0-1.fc43.a 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [113/148] ncurses-base-0:6.5-5.20250125 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [114/148] ca-certificates-0:2024.2.69_v 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [115/148] crypto-policies-0:20250214-1. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [116/148] pcre2-syntax-0:10.45-1.fc43.n 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [117/148] fedora-gpg-keys-0:43-0.1.noar 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [118/148] fedora-repos-rawhide-0:43-0.1 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [119/148] json-c-0:0.18-2.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [120/148] elfutils-default-yama-scope-0 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [121/148] libpkgconf-0:2.3.0-2.fc42.aar 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [122/148] libffi-0:3.4.6-5.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [123/148] p11-kit-0:0.25.5-5.fc42.aarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [124/148] p11-kit-trust-0:0.25.5-5.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [125/148] libtasn1-0:4.20.0-1.fc43.aarc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [126/148] fedora-release-0:43-0.4.noarc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [127/148] systemd-standalone-sysusers-0 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [128/148] gdb-minimal-0:16.2-1.fc43.aar 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [129/148] xxhash-libs-0:0.8.3-2.fc42.aa 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [130/148] fedora-release-identity-basic 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [131/148] libcurl-0:8.12.1-1.fc43.aarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [132/148] krb5-libs-0:1.21.3-5.fc42.aar 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [133/148] libbrotli-0:1.1.0-6.fc42.aarc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [134/148] libidn2-0:2.3.7-3.fc42.aarch6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [135/148] libnghttp2-0:1.64.0-3.fc42.aa 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [136/148] libpsl-0:0.21.5-5.fc42.aarch6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [137/148] libssh-0:0.11.1-4.fc42.aarch6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [138/148] openldap-0:2.6.9-3.fc42.aarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [139/148] keyutils-libs-0:1.6.3-5.fc42. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [140/148] libcom_err-0:1.47.2-3.fc42.aa 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [141/148] libverto-0:0.3.2-10.fc42.aarc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [142/148] libunistring-0:1.1-9.fc42.aar 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [143/148] publicsuffix-list-dafsa-0:202 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [144/148] libssh-config-0:0.11.1-4.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [145/148] cyrus-sasl-lib-0:2.1.28-30.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [146/148] libevent-0:2.1.12-15.fc42.aar 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [147/148] libtool-ltdl-0:2.5.4-4.fc42.a 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [148/148] gdbm-libs-1:1.23-9.fc42.aarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [148/148] Total 100% | 0.0 B/s | 0.0 B | 00m00s Running transaction Importing OpenPGP key 0x31645531: UserID : "Fedora (43) " Fingerprint: C6E7F081CF80E13146676E88829B606631645531 From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-43-primary The key was successfully imported. Importing OpenPGP key 0x105EF944: UserID : "Fedora (42) " Fingerprint: B0F4950458F69E1150C6C5EDC8AC4916105EF944 From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-42-primary The key was successfully imported. Importing OpenPGP key 0x6D9F90A6: UserID : "Fedora (44) " Fingerprint: 36F612DCF27F7D1A48A835E4DBFCF71C6D9F90A6 From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-44-primary The key was successfully imported. [ 1/150] Verify package files 100% | 704.0 B/s | 148.0 B | 00m00s [ 2/150] Prepare transaction 100% | 2.5 KiB/s | 148.0 B | 00m00s [ 3/150] Installing libgcc-0:15.0.1-0. 100% | 109.3 MiB/s | 223.9 KiB | 00m00s [ 4/150] Installing libssh-config-0:0. 100% | 0.0 B/s | 816.0 B | 00m00s [ 5/150] Installing publicsuffix-list- 100% | 67.6 MiB/s | 69.2 KiB | 00m00s [ 6/150] Installing fedora-release-ide 100% | 953.1 KiB/s | 976.0 B | 00m00s [ 7/150] Installing fedora-gpg-keys-0: 100% | 28.4 MiB/s | 174.8 KiB | 00m00s [ 8/150] Installing fedora-repos-rawhi 100% | 0.0 B/s | 2.4 KiB | 00m00s [ 9/150] Installing fedora-repos-0:43- 100% | 0.0 B/s | 5.7 KiB | 00m00s [ 10/150] Installing fedora-release-com 100% | 23.8 MiB/s | 24.4 KiB | 00m00s [ 11/150] Installing fedora-release-0:4 100% | 8.6 KiB/s | 124.0 B | 00m00s >>> Running unknown scriptlet: setup-0:2.15.0-12.fc43.noarch >>> Finished unknown scriptlet: setup-0:2.15.0-12.fc43.noarch >>> Scriptlet output: >>> Creating group 'adm' with GID 4. >>> Creating group 'audio' with GID 63. >>> Creating group 'bin' with GID 1. >>> Creating group 'cdrom' with GID 11. >>> Creating group 'clock' with GID 103. >>> Creating group 'daemon' with GID 2. >>> Creating group 'dialout' with GID 18. >>> Creating group 'disk' with GID 6. >>> Creating group 'floppy' with GID 19. >>> Creating group 'ftp' with GID 50. >>> Creating group 'games' with GID 20. >>> Creating group 'input' with GID 104. >>> Creating group 'kmem' with GID 9. >>> Creating group 'kvm' with GID 36. >>> Creating group 'lock' with GID 54. >>> Creating group 'lp' with GID 7. >>> Creating group 'mail' with GID 12. >>> Creating group 'man' with GID 15. >>> Creating group 'mem' with GID 8. >>> Creating group 'nobody' with GID 65534. >>> Creating group 'render' with GID 105. >>> Creating group 'root' with GID 0. >>> Creating group 'sgx' with GID 106. >>> Creating group 'sys' with GID 3. >>> Creating group 'tape' with GID 33. >>> Creating group 'tty' with GID 5. >>> Creating group 'users' with GID 100. >>> Creating group 'utmp' with GID 22. >>> Creating group 'video' with GID 39. >>> Creating group 'wheel' with GID 10. >>> >>> Running unknown scriptlet: setup-0:2.15.0-12.fc43.noarch >>> Finished unknown scriptlet: setup-0:2.15.0-12.fc43.noarch >>> Scriptlet output: >>> Creating user 'adm' (adm) with UID 3 and GID 4. >>> Creating user 'bin' (bin) with UID 1 and GID 1. >>> Creating user 'daemon' (daemon) with UID 2 and GID 2. >>> Creating user 'ftp' (FTP User) with UID 14 and GID 50. >>> Creating user 'games' (games) with UID 12 and GID 20. >>> Creating user 'halt' (halt) with UID 7 and GID 0. >>> Creating user 'lp' (lp) with UID 4 and GID 7. >>> Creating user 'mail' (mail) with UID 8 and GID 12. >>> Creating user 'nobody' (Kernel Overflow User) with UID 65534 and GID 65534. >>> Creating user 'operator' (operator) with UID 11 and GID 0. >>> Creating user 'root' (Super User) with UID 0 and GID 0. >>> Creating user 'shutdown' (shutdown) with UID 6 and GID 0. >>> Creating user 'sync' (sync) with UID 5 and GID 0. >>> [ 12/150] Installing setup-0:2.15.0-12. 100% | 37.3 MiB/s | 726.6 KiB | 00m00s >>> [RPM] /etc/hosts created as /etc/hosts.rpmnew [ 13/150] Installing filesystem-0:3.18- 100% | 1.9 MiB/s | 212.4 KiB | 00m00s [ 14/150] Installing pcre2-syntax-0:10. 100% | 135.0 MiB/s | 276.4 KiB | 00m00s [ 15/150] Installing ncurses-base-0:6.5 100% | 57.3 MiB/s | 352.2 KiB | 00m00s [ 16/150] Installing glibc-minimal-lang 100% | 0.0 B/s | 124.0 B | 00m00s [ 17/150] Installing ncurses-libs-0:6.5 100% | 207.9 MiB/s | 1.2 MiB | 00m00s [ 18/150] Installing glibc-0:2.40.9000- 100% | 152.7 MiB/s | 6.3 MiB | 00m00s [ 19/150] Installing bash-0:5.2.37-3.fc 100% | 199.7 MiB/s | 8.2 MiB | 00m00s [ 20/150] Installing glibc-common-0:2.4 100% | 57.6 MiB/s | 1.3 MiB | 00m00s [ 21/150] Installing glibc-gconv-extra- 100% | 373.3 MiB/s | 18.7 MiB | 00m00s [ 22/150] Installing zlib-ng-compat-0:2 100% | 131.1 MiB/s | 134.3 KiB | 00m00s [ 23/150] Installing bzip2-libs-0:1.0.8 100% | 72.0 MiB/s | 73.7 KiB | 00m00s [ 24/150] Installing xz-libs-1:5.6.3-3. 100% | 198.6 MiB/s | 203.4 KiB | 00m00s [ 25/150] Installing libuuid-0:2.40.4-6 100% | 68.9 MiB/s | 70.5 KiB | 00m00s [ 26/150] Installing libblkid-0:2.40.4- 100% | 142.3 MiB/s | 291.5 KiB | 00m00s [ 27/150] Installing popt-0:1.19-8.fc42 100% | 49.3 MiB/s | 151.4 KiB | 00m00s [ 28/150] Installing readline-0:8.2-12. 100% | 275.0 MiB/s | 563.2 KiB | 00m00s [ 29/150] Installing gmp-1:6.3.0-2.fc41 100% | 235.8 MiB/s | 724.2 KiB | 00m00s [ 30/150] Installing libxcrypt-0:4.4.38 100% | 134.4 MiB/s | 275.2 KiB | 00m00s [ 31/150] Installing libstdc++-0:15.0.1 100% | 307.2 MiB/s | 2.8 MiB | 00m00s [ 32/150] Installing libzstd-0:1.5.6-3. 100% | 217.8 MiB/s | 668.9 KiB | 00m00s [ 33/150] Installing elfutils-libelf-0: 100% | 297.4 MiB/s | 1.2 MiB | 00m00s [ 34/150] Installing libattr-0:2.5.2-5. 100% | 66.5 MiB/s | 68.0 KiB | 00m00s [ 35/150] Installing libacl-0:2.3.2-3.f 100% | 65.5 MiB/s | 67.1 KiB | 00m00s [ 36/150] Installing dwz-0:0.15-9.fc42. 100% | 17.6 MiB/s | 323.9 KiB | 00m00s [ 37/150] Installing mpfr-0:4.2.1-6.fc4 100% | 184.6 MiB/s | 756.3 KiB | 00m00s [ 38/150] Installing gawk-0:5.3.1-1.fc4 100% | 98.1 MiB/s | 2.5 MiB | 00m00s [ 39/150] Installing unzip-0:6.0-66.fc4 100% | 25.7 MiB/s | 473.7 KiB | 00m00s [ 40/150] Installing file-libs-0:5.46-1 100% | 594.0 MiB/s | 11.9 MiB | 00m00s [ 41/150] Installing file-0:5.46-1.fc42 100% | 6.0 MiB/s | 141.7 KiB | 00m00s [ 42/150] Installing crypto-policies-0: 100% | 20.0 MiB/s | 163.5 KiB | 00m00s [ 43/150] Installing pcre2-0:10.45-1.fc 100% | 232.7 MiB/s | 715.0 KiB | 00m00s [ 44/150] Installing grep-0:3.11-10.fc4 100% | 41.4 MiB/s | 1.0 MiB | 00m00s [ 45/150] Installing xz-1:5.6.3-3.fc42. 100% | 55.1 MiB/s | 1.3 MiB | 00m00s [ 46/150] Installing libeconf-0:0.7.6-1 100% | 80.4 MiB/s | 82.3 KiB | 00m00s [ 47/150] Installing libcap-ng-0:0.8.5- 100% | 159.0 MiB/s | 162.8 KiB | 00m00s [ 48/150] Installing audit-libs-0:4.0.3 100% | 203.7 MiB/s | 417.2 KiB | 00m00s [ 49/150] Installing pam-libs-0:1.7.0-4 100% | 220.0 MiB/s | 225.3 KiB | 00m00s [ 50/150] Installing libcap-0:2.73-2.fc 100% | 27.8 MiB/s | 511.6 KiB | 00m00s [ 51/150] Installing systemd-libs-0:257 100% | 259.5 MiB/s | 2.3 MiB | 00m00s [ 52/150] Installing libsmartcols-0:2.4 100% | 220.3 MiB/s | 225.6 KiB | 00m00s [ 53/150] Installing libsepol-0:3.8-1.f 100% | 264.0 MiB/s | 810.9 KiB | 00m00s [ 54/150] Installing libselinux-0:3.8-1 100% | 197.6 MiB/s | 202.3 KiB | 00m00s [ 55/150] Installing sed-0:4.9-4.fc42.a 100% | 39.1 MiB/s | 881.4 KiB | 00m00s [ 56/150] Installing findutils-1:4.10.0 100% | 80.0 MiB/s | 1.9 MiB | 00m00s [ 57/150] Installing libmount-0:2.40.4- 100% | 174.3 MiB/s | 356.9 KiB | 00m00s [ 58/150] Installing alternatives-0:1.3 100% | 5.3 MiB/s | 91.7 KiB | 00m00s [ 59/150] Installing lz4-libs-0:1.10.0- 100% | 193.9 MiB/s | 198.5 KiB | 00m00s [ 60/150] Installing lua-libs-0:5.4.7-2 100% | 161.2 MiB/s | 330.1 KiB | 00m00s [ 61/150] Installing libffi-0:3.4.6-5.f 100% | 152.1 MiB/s | 155.8 KiB | 00m00s [ 62/150] Installing libtasn1-0:4.20.0- 100% | 108.5 MiB/s | 222.2 KiB | 00m00s [ 63/150] Installing p11-kit-0:0.25.5-5 100% | 88.7 MiB/s | 2.4 MiB | 00m00s [ 64/150] Installing libunistring-0:1.1 100% | 291.0 MiB/s | 1.7 MiB | 00m00s [ 65/150] Installing libidn2-0:2.3.7-3. 100% | 109.1 MiB/s | 335.0 KiB | 00m00s [ 66/150] Installing libpsl-0:0.21.5-5. 100% | 130.5 MiB/s | 133.6 KiB | 00m00s [ 67/150] Installing p11-kit-trust-0:0. 100% | 17.5 MiB/s | 465.0 KiB | 00m00s [ 68/150] Installing zstd-0:1.5.6-3.fc4 100% | 65.3 MiB/s | 1.5 MiB | 00m00s [ 69/150] Installing util-linux-core-0: 100% | 91.7 MiB/s | 2.4 MiB | 00m00s [ 70/150] Installing tar-2:1.35-5.fc42. 100% | 107.3 MiB/s | 3.0 MiB | 00m00s [ 71/150] Installing libsemanage-0:3.8- 100% | 117.8 MiB/s | 361.8 KiB | 00m00s [ 72/150] Installing shadow-utils-2:4.1 100% | 108.2 MiB/s | 4.5 MiB | 00m00s [ 73/150] Installing systemd-standalone 100% | 19.0 MiB/s | 329.9 KiB | 00m00s [ 74/150] Installing zip-0:3.0-43.fc42. 100% | 39.4 MiB/s | 766.4 KiB | 00m00s [ 75/150] Installing libfdisk-0:2.40.4- 100% | 205.0 MiB/s | 419.9 KiB | 00m00s [ 76/150] Installing libxml2-0:2.12.9-2 100% | 82.2 MiB/s | 1.9 MiB | 00m00s [ 77/150] Installing bzip2-0:1.0.8-20.f 100% | 10.1 MiB/s | 175.8 KiB | 00m00s [ 78/150] Installing add-determinism-0: 100% | 90.2 MiB/s | 2.2 MiB | 00m00s [ 79/150] Installing build-reproducibil 100% | 0.0 B/s | 1.0 KiB | 00m00s [ 80/150] Installing filesystem-srpm-ma 100% | 38.0 MiB/s | 38.9 KiB | 00m00s [ 81/150] Installing ed-0:1.21-2.fc42.a 100% | 9.0 MiB/s | 156.8 KiB | 00m00s [ 82/150] Installing patch-0:2.7.6-26.f 100% | 15.2 MiB/s | 263.9 KiB | 00m00s [ 83/150] Installing elfutils-default-y 100% | 340.5 KiB/s | 2.0 KiB | 00m00s [ 84/150] Installing elfutils-libs-0:0. 100% | 182.7 MiB/s | 748.2 KiB | 00m00s [ 85/150] Installing cpio-0:2.15-2.fc41 100% | 50.9 MiB/s | 1.2 MiB | 00m00s [ 86/150] Installing diffutils-0:3.10-9 100% | 67.0 MiB/s | 1.6 MiB | 00m00s [ 87/150] Installing jansson-0:2.14-2.f 100% | 92.3 MiB/s | 94.5 KiB | 00m00s [ 88/150] Installing libgomp-0:15.0.1-0 100% | 250.3 MiB/s | 512.6 KiB | 00m00s [ 89/150] Installing sqlite-libs-0:3.49 100% | 250.2 MiB/s | 1.5 MiB | 00m00s [ 90/150] Installing json-c-0:0.18-2.fc 100% | 136.7 MiB/s | 139.9 KiB | 00m00s [ 91/150] Installing libpkgconf-0:2.3.0 100% | 132.0 MiB/s | 135.1 KiB | 00m00s [ 92/150] Installing pkgconf-0:2.3.0-2. 100% | 6.6 MiB/s | 114.9 KiB | 00m00s [ 93/150] Installing xxhash-libs-0:0.8. 100% | 85.3 MiB/s | 87.4 KiB | 00m00s [ 94/150] Installing libbrotli-0:1.1.0- 100% | 222.6 MiB/s | 911.7 KiB | 00m00s [ 95/150] Installing libnghttp2-0:1.64. 100% | 194.5 MiB/s | 199.2 KiB | 00m00s [ 96/150] Installing keyutils-libs-0:1. 100% | 97.4 MiB/s | 99.8 KiB | 00m00s [ 97/150] Installing libcom_err-0:1.47. 100% | 109.5 MiB/s | 112.2 KiB | 00m00s [ 98/150] Installing libverto-0:0.3.2-1 100% | 69.5 MiB/s | 71.2 KiB | 00m00s [ 99/150] Installing libtool-ltdl-0:2.5 100% | 92.9 MiB/s | 95.1 KiB | 00m00s [100/150] Installing gdbm-libs-1:1.23-9 100% | 230.1 MiB/s | 235.7 KiB | 00m00s [101/150] Installing cyrus-sasl-lib-0:2 100% | 96.7 MiB/s | 2.4 MiB | 00m00s [102/150] Installing pkgconf-m4-0:2.3.0 100% | 14.5 MiB/s | 14.8 KiB | 00m00s [103/150] Installing pkgconf-pkg-config 100% | 104.3 KiB/s | 1.8 KiB | 00m00s [104/150] Installing coreutils-common-0 100% | 301.5 MiB/s | 11.2 MiB | 00m00s [105/150] Installing openssl-libs-1:3.2 100% | 301.7 MiB/s | 6.3 MiB | 00m00s [106/150] Installing coreutils-0:9.6-1. 100% | 175.1 MiB/s | 8.2 MiB | 00m00s [107/150] Installing ca-certificates-0: 100% | 1.4 MiB/s | 2.4 MiB | 00m02s [108/150] Installing libarchive-0:3.7.7 100% | 178.2 MiB/s | 912.6 KiB | 00m00s [109/150] Installing krb5-libs-0:1.21.3 100% | 230.2 MiB/s | 2.5 MiB | 00m00s [110/150] Installing libssh-0:0.11.1-4. 100% | 191.2 MiB/s | 587.5 KiB | 00m00s [111/150] Installing gzip-0:1.13-3.fc42 100% | 21.0 MiB/s | 430.2 KiB | 00m00s [112/150] Installing rpm-sequoia-0:1.7. 100% | 287.2 MiB/s | 2.3 MiB | 00m00s [113/150] Installing rpm-libs-0:4.20.0- 100% | 239.3 MiB/s | 735.1 KiB | 00m00s [114/150] Installing rpm-build-libs-0:4 100% | 194.8 MiB/s | 199.4 KiB | 00m00s [115/150] Installing libevent-0:2.1.12- 100% | 271.3 MiB/s | 1.1 MiB | 00m00s [116/150] Installing openldap-0:2.6.9-3 100% | 171.2 MiB/s | 701.1 KiB | 00m00s [117/150] Installing libcurl-0:8.12.1-1 100% | 209.8 MiB/s | 859.2 KiB | 00m00s [118/150] Installing elfutils-debuginfo 100% | 7.9 MiB/s | 146.2 KiB | 00m00s [119/150] Installing binutils-0:2.44-3. 100% | 272.0 MiB/s | 29.4 MiB | 00m00s [120/150] Installing elfutils-0:0.192-8 100% | 112.1 MiB/s | 3.1 MiB | 00m00s [121/150] Installing gdb-minimal-0:16.2 100% | 232.9 MiB/s | 13.0 MiB | 00m00s [122/150] Installing debugedit-0:5.1-4. 100% | 13.4 MiB/s | 247.0 KiB | 00m00s [123/150] Installing curl-0:8.12.1-1.fc 100% | 15.9 MiB/s | 455.7 KiB | 00m00s [124/150] Installing rpm-0:4.20.0-8.fc4 100% | 71.8 MiB/s | 2.7 MiB | 00m00s [125/150] Installing efi-srpm-macros-0: 100% | 40.1 MiB/s | 41.1 KiB | 00m00s [126/150] Installing lua-srpm-macros-0: 100% | 0.0 B/s | 1.9 KiB | 00m00s [127/150] Installing tree-sitter-srpm-m 100% | 7.2 MiB/s | 7.4 KiB | 00m00s [128/150] Installing zig-srpm-macros-0: 100% | 0.0 B/s | 1.7 KiB | 00m00s [129/150] Installing rust-srpm-macros-0 100% | 0.0 B/s | 5.6 KiB | 00m00s [130/150] Installing qt6-srpm-macros-0: 100% | 0.0 B/s | 740.0 B | 00m00s [131/150] Installing qt5-srpm-macros-0: 100% | 0.0 B/s | 776.0 B | 00m00s [132/150] Installing perl-srpm-macros-0 100% | 0.0 B/s | 1.1 KiB | 00m00s [133/150] Installing package-notes-srpm 100% | 0.0 B/s | 2.0 KiB | 00m00s [134/150] Installing openblas-srpm-macr 100% | 0.0 B/s | 392.0 B | 00m00s [135/150] Installing ocaml-srpm-macros- 100% | 0.0 B/s | 2.2 KiB | 00m00s [136/150] Installing kernel-srpm-macros 100% | 0.0 B/s | 2.3 KiB | 00m00s [137/150] Installing gnat-srpm-macros-0 100% | 0.0 B/s | 1.3 KiB | 00m00s [138/150] Installing ghc-srpm-macros-0: 100% | 0.0 B/s | 1.0 KiB | 00m00s [139/150] Installing fpc-srpm-macros-0: 100% | 0.0 B/s | 420.0 B | 00m00s [140/150] Installing ansible-srpm-macro 100% | 0.0 B/s | 36.2 KiB | 00m00s [141/150] Installing fonts-srpm-macros- 100% | 55.7 MiB/s | 57.0 KiB | 00m00s [142/150] Installing forge-srpm-macros- 100% | 39.3 MiB/s | 40.3 KiB | 00m00s [143/150] Installing go-srpm-macros-0:3 100% | 60.5 MiB/s | 62.0 KiB | 00m00s [144/150] Installing python-srpm-macros 100% | 50.9 MiB/s | 52.2 KiB | 00m00s [145/150] Installing redhat-rpm-config- 100% | 63.0 MiB/s | 193.5 KiB | 00m00s [146/150] Installing rpm-build-0:4.20.0 100% | 26.1 MiB/s | 533.6 KiB | 00m00s [147/150] Installing pyproject-srpm-mac 100% | 2.4 MiB/s | 2.5 KiB | 00m00s [148/150] Installing which-0:2.23-1.fc4 100% | 6.5 MiB/s | 125.6 KiB | 00m00s [149/150] Installing util-linux-0:2.40. 100% | 130.0 MiB/s | 6.6 MiB | 00m00s [150/150] Installing info-0:7.2-3.fc42. 100% | 199.8 KiB/s | 422.0 KiB | 00m02s Public key "file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-43-primary" is already present, not importing. Complete! Finish: installing minimal buildroot with dnf5 Start: creating root cache Finish: creating root cache Finish: chroot init INFO: Installed packages: INFO: add-determinism-0.6.0-1.fc43.aarch64 alternatives-1.31-3.fc42.aarch64 ansible-srpm-macros-1-17.1.fc42.noarch audit-libs-4.0.3-2.fc42.aarch64 bash-5.2.37-3.fc43.aarch64 binutils-2.44-3.fc43.aarch64 build-reproducibility-srpm-macros-0.6.0-1.fc43.noarch bzip2-1.0.8-20.fc42.aarch64 bzip2-libs-1.0.8-20.fc42.aarch64 ca-certificates-2024.2.69_v8.0.401-5.fc42.noarch coreutils-9.6-1.fc42.aarch64 coreutils-common-9.6-1.fc42.aarch64 cpio-2.15-2.fc41.aarch64 crypto-policies-20250214-1.gitff7551b.fc43.noarch curl-8.12.1-1.fc43.aarch64 cyrus-sasl-lib-2.1.28-30.fc42.aarch64 debugedit-5.1-4.fc42.aarch64 diffutils-3.10-9.fc42.aarch64 dwz-0.15-9.fc42.aarch64 ed-1.21-2.fc42.aarch64 efi-srpm-macros-6-2.fc42.noarch elfutils-0.192-8.fc42.aarch64 elfutils-debuginfod-client-0.192-8.fc42.aarch64 elfutils-default-yama-scope-0.192-8.fc42.noarch elfutils-libelf-0.192-8.fc42.aarch64 elfutils-libs-0.192-8.fc42.aarch64 fedora-gpg-keys-43-0.1.noarch fedora-release-43-0.4.noarch fedora-release-common-43-0.4.noarch fedora-release-identity-basic-43-0.4.noarch fedora-repos-43-0.1.noarch fedora-repos-rawhide-43-0.1.noarch file-5.46-1.fc42.aarch64 file-libs-5.46-1.fc42.aarch64 filesystem-3.18-38.fc43.aarch64 filesystem-srpm-macros-3.18-38.fc43.noarch findutils-4.10.0-5.fc42.aarch64 fonts-srpm-macros-2.0.5-21.fc42.noarch forge-srpm-macros-0.4.0-2.fc42.noarch fpc-srpm-macros-1.3-14.fc42.noarch gawk-5.3.1-1.fc42.aarch64 gdb-minimal-16.2-1.fc43.aarch64 gdbm-libs-1.23-9.fc42.aarch64 ghc-srpm-macros-1.9.2-2.fc42.noarch glibc-2.40.9000-37.fc43.aarch64 glibc-common-2.40.9000-37.fc43.aarch64 glibc-gconv-extra-2.40.9000-37.fc43.aarch64 glibc-minimal-langpack-2.40.9000-37.fc43.aarch64 gmp-6.3.0-2.fc41.aarch64 gnat-srpm-macros-6-7.fc42.noarch go-srpm-macros-3.6.0-6.fc42.noarch gpg-pubkey-105ef944-65ca83d1 gpg-pubkey-31645531-66b6dccf gpg-pubkey-6d9f90a6-6786af3b grep-3.11-10.fc42.aarch64 gzip-1.13-3.fc42.aarch64 info-7.2-3.fc42.aarch64 jansson-2.14-2.fc42.aarch64 json-c-0.18-2.fc42.aarch64 kernel-srpm-macros-1.0-25.fc42.noarch keyutils-libs-1.6.3-5.fc42.aarch64 krb5-libs-1.21.3-5.fc42.aarch64 libacl-2.3.2-3.fc42.aarch64 libarchive-3.7.7-2.fc42.aarch64 libattr-2.5.2-5.fc42.aarch64 libblkid-2.40.4-6.fc43.aarch64 libbrotli-1.1.0-6.fc42.aarch64 libcap-2.73-2.fc42.aarch64 libcap-ng-0.8.5-4.fc42.aarch64 libcom_err-1.47.2-3.fc42.aarch64 libcurl-8.12.1-1.fc43.aarch64 libeconf-0.7.6-1.fc43.aarch64 libevent-2.1.12-15.fc42.aarch64 libfdisk-2.40.4-6.fc43.aarch64 libffi-3.4.6-5.fc42.aarch64 libgcc-15.0.1-0.7.fc43.aarch64 libgomp-15.0.1-0.7.fc43.aarch64 libidn2-2.3.7-3.fc42.aarch64 libmount-2.40.4-6.fc43.aarch64 libnghttp2-1.64.0-3.fc42.aarch64 libpkgconf-2.3.0-2.fc42.aarch64 libpsl-0.21.5-5.fc42.aarch64 libselinux-3.8-1.fc42.aarch64 libsemanage-3.8-1.fc42.aarch64 libsepol-3.8-1.fc42.aarch64 libsmartcols-2.40.4-6.fc43.aarch64 libssh-0.11.1-4.fc42.aarch64 libssh-config-0.11.1-4.fc42.noarch libstdc++-15.0.1-0.7.fc43.aarch64 libtasn1-4.20.0-1.fc43.aarch64 libtool-ltdl-2.5.4-4.fc42.aarch64 libunistring-1.1-9.fc42.aarch64 libuuid-2.40.4-6.fc43.aarch64 libverto-0.3.2-10.fc42.aarch64 libxcrypt-4.4.38-6.fc43.aarch64 libxml2-2.12.9-2.fc42.aarch64 libzstd-1.5.6-3.fc42.aarch64 lua-libs-5.4.7-2.fc42.aarch64 lua-srpm-macros-1-15.fc42.noarch lz4-libs-1.10.0-2.fc42.aarch64 mpfr-4.2.1-6.fc42.aarch64 ncurses-base-6.5-5.20250125.fc42.noarch ncurses-libs-6.5-5.20250125.fc42.aarch64 ocaml-srpm-macros-10-4.fc42.noarch openblas-srpm-macros-2-19.fc42.noarch openldap-2.6.9-3.fc42.aarch64 openssl-libs-3.2.4-1.fc43.aarch64 p11-kit-0.25.5-5.fc42.aarch64 p11-kit-trust-0.25.5-5.fc42.aarch64 package-notes-srpm-macros-0.5-13.fc42.noarch pam-libs-1.7.0-4.fc42.aarch64 patch-2.7.6-26.fc42.aarch64 pcre2-10.45-1.fc43.aarch64 pcre2-syntax-10.45-1.fc43.noarch perl-srpm-macros-1-57.fc42.noarch pkgconf-2.3.0-2.fc42.aarch64 pkgconf-m4-2.3.0-2.fc42.noarch pkgconf-pkg-config-2.3.0-2.fc42.aarch64 popt-1.19-8.fc42.aarch64 publicsuffix-list-dafsa-20250116-1.fc42.noarch pyproject-srpm-macros-1.17.0-1.fc43.noarch python-srpm-macros-3.13-4.fc42.noarch qt5-srpm-macros-5.15.15-1.fc42.noarch qt6-srpm-macros-6.8.2-2.fc43.noarch readline-8.2-12.fc42.aarch64 redhat-rpm-config-342-2.fc42.noarch rpm-4.20.0-8.fc42.aarch64 rpm-build-4.20.0-8.fc42.aarch64 rpm-build-libs-4.20.0-8.fc42.aarch64 rpm-libs-4.20.0-8.fc42.aarch64 rpm-sequoia-1.7.0-5.fc43.aarch64 rust-srpm-macros-26.3-4.fc42.noarch sed-4.9-4.fc42.aarch64 setup-2.15.0-12.fc43.noarch shadow-utils-4.17.0-4.fc42.aarch64 sqlite-libs-3.49.0-1.fc43.aarch64 systemd-libs-257.3-7.fc43.aarch64 systemd-standalone-sysusers-257.3-7.fc43.aarch64 tar-1.35-5.fc42.aarch64 tree-sitter-srpm-macros-0.1.0-8.fc42.noarch unzip-6.0-66.fc42.aarch64 util-linux-2.40.4-6.fc43.aarch64 util-linux-core-2.40.4-6.fc43.aarch64 which-2.23-1.fc42.aarch64 xxhash-libs-0.8.3-2.fc42.aarch64 xz-5.6.3-3.fc42.aarch64 xz-libs-5.6.3-3.fc42.aarch64 zig-srpm-macros-1-4.fc42.noarch zip-3.0-43.fc42.aarch64 zlib-ng-compat-2.2.4-1.fc43.aarch64 zstd-1.5.6-3.fc42.aarch64 Start: buildsrpm Start: rpmbuild -bs Building target platforms: aarch64 Building for target aarch64 setting SOURCE_DATE_EPOCH=1737158400 Wrote: /builddir/build/SRPMS/python-fsspec-2024.12.0-2.fc43.src.rpm Finish: rpmbuild -bs INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-rawhide-aarch64-1739979959.144869/root/var/log/dnf5.log INFO: chroot_scan: creating tarball /var/lib/copr-rpmbuild/results/chroot_scan.tar.gz /bin/tar: Removing leading `/' from member names Finish: buildsrpm INFO: Done(/var/lib/copr-rpmbuild/workspace/workdir-a818tdiz/python-fsspec/python-fsspec.spec) Config(child) 0 minutes 11 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_success=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot INFO: Start(/var/lib/copr-rpmbuild/results/python-fsspec-2024.12.0-2.fc43.src.rpm) Config(fedora-rawhide-aarch64) Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-aarch64-bootstrap-1739979959.144869/root. INFO: reusing tmpfs at /var/lib/mock/fedora-rawhide-aarch64-bootstrap-1739979959.144869/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata Finish(bootstrap): chroot init Start: chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-aarch64-1739979959.144869/root. INFO: calling preinit hooks INFO: enabled root cache Start: unpacking root cache Finish: unpacking root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Buildroot is handled by package management downloaded with a bootstrap image: rpm-4.20.0-8.fc42.aarch64 rpm-sequoia-1.7.0-5.fc43.aarch64 dnf5-5.2.10.0-2.fc43.aarch64 dnf5-plugins-5.2.10.0-2.fc43.aarch64 Finish: chroot init Start: build phase for python-fsspec-2024.12.0-2.fc43.src.rpm Start: build setup for python-fsspec-2024.12.0-2.fc43.src.rpm Building target platforms: aarch64 Building for target aarch64 setting SOURCE_DATE_EPOCH=1737158400 Wrote: /builddir/build/SRPMS/python-fsspec-2024.12.0-2.fc43.src.rpm Updating and loading repositories: fedora 100% | 22.4 KiB/s | 8.3 KiB | 00m00s Copr repository 100% | 41.2 KiB/s | 1.5 KiB | 00m00s Copr repository 100% | 173.7 KiB/s | 24.1 KiB | 00m00s Repositories loaded. Package Arch Version Repository Size Installing: fuse aarch64 2.9.9-23.fc42 fedora 346.5 KiB git-core aarch64 2.48.1-3.fc43 fedora 22.4 MiB python3-cloudpickle noarch 3.1.1-2.fc42 fedora 128.1 KiB python3-devel aarch64 3.13.2-2.fc43 fedora 1.8 MiB python3-jinja2 noarch 3.1.5-2.fc42 fedora 2.9 MiB python3-lz4 aarch64 4.3.3-8.fc42 fedora 6.3 MiB python3-notebook noarch 7.3.2-2.fc42 fedora 56.2 MiB python3-numpy aarch64 1:2.2.3-1.fc43 fedora 33.9 MiB python3-pytest-asyncio noarch 0.24.0-2.fc42 fedora 147.5 KiB python3-pytest-mock noarch 3.14.0-3.fc42 fedora 114.9 KiB python3-pytest-rerunfailures noarch 15.0-2.fc42 fedora 83.1 KiB python3-snappy noarch 0.7.2-4.fc42 fedora 39.4 KiB python3-zarr noarch 2.18.4-2.fc42 fedora 3.1 MiB python3-zstandard aarch64 0.23.0-2.fc42 fedora 1.9 MiB Installing dependencies: blosc aarch64 1.21.6-6.fc42 fedora 129.9 KiB expat aarch64 2.6.4-2.fc42 fedora 348.7 KiB flexiblas aarch64 3.4.5-1.fc43 fedora 50.4 KiB flexiblas-netlib aarch64 3.4.5-1.fc43 fedora 9.3 MiB flexiblas-openblas-openmp aarch64 3.4.5-1.fc43 fedora 67.3 KiB fuse-common aarch64 3.16.2-5.fc42 fedora 38.0 B hicolor-icon-theme noarch 0.17-20.fc42 fedora 72.2 KiB jupyterlab noarch 4.3.5-1.fc43 fedora 32.4 MiB less aarch64 668-2.fc42 fedora 549.7 KiB libargon2 aarch64 20190702-7.fc42 fedora 83.7 KiB libb2 aarch64 0.98.1-13.fc42 fedora 74.1 KiB libcbor aarch64 0.11.0-3.fc42 fedora 137.9 KiB libedit aarch64 3.1-55.20250104cvs.fc42 fedora 280.1 KiB libfido2 aarch64 1.15.0-3.fc42 fedora 278.3 KiB libgfortran aarch64 15.0.1-0.7.fc43 fedora 1.6 MiB libsodium aarch64 1.0.20-4.fc42 fedora 328.1 KiB libunwind aarch64 1.8.1-2.fc43 fedora 351.7 KiB libxslt aarch64 1.1.42-4.fc42 fedora 610.8 KiB libyaml aarch64 0.2.5-16.fc42 fedora 134.5 KiB mpdecimal aarch64 4.0.0-2.fc43 fedora 280.8 KiB openblas aarch64 0.3.29-1.fc42 fedora 111.7 KiB openblas-openmp aarch64 0.3.29-1.fc42 fedora 20.4 MiB openpgm aarch64 5.3.128-4.fc42 fedora 352.3 KiB openssh aarch64 9.9p1-9.fc43 fedora 1.4 MiB openssh-clients aarch64 9.9p1-9.fc43 fedora 2.8 MiB pyproject-rpm-macros noarch 1.17.0-1.fc43 fedora 114.0 KiB python-jupyter-filesystem noarch 5.7.2-8.fc42 fedora 0.0 B python-pip-wheel noarch 24.3.1-2.fc42 fedora 1.2 MiB python-rpm-macros noarch 3.13-4.fc42 fedora 22.1 KiB python3 aarch64 3.13.2-2.fc43 fedora 83.6 KiB python3-anyio noarch 4.8.0-1.fc43 fedora 1.1 MiB python3-argon2-cffi noarch 23.1.0-4.fc42 fedora 69.6 KiB python3-argon2-cffi-bindings aarch64 21.2.0-9.fc42 fedora 94.9 KiB python3-arrow noarch 1.2.3-12.fc42 fedora 557.3 KiB python3-asciitree noarch 0.3.3-31.fc42 fedora 20.2 KiB python3-asttokens noarch 2.4.1-9.fc42 fedora 207.7 KiB python3-async-lru noarch 2.0.4-7.fc42 fedora 34.3 KiB python3-attrs noarch 25.1.0-1.fc42 fedora 396.3 KiB python3-babel noarch 2.17.0-1.fc42 fedora 30.2 MiB python3-beautifulsoup4 noarch 4.12.3-9.fc42 fedora 1.4 MiB python3-bleach noarch 6.2.0-3.fc42 fedora 187.5 KiB python3-certifi noarch 2024.08.30-2.fc42 fedora 6.8 KiB python3-cffi aarch64 1.17.1-2.fc42 fedora 1.3 MiB python3-charset-normalizer noarch 3.4.1-3.fc42 fedora 319.6 KiB python3-comm noarch 0.2.2-4.fc42 fedora 32.3 KiB python3-cramjam aarch64 2.10.0~20250104git61564e7-1.fc43 fedora 2.8 MiB python3-dateutil noarch 1:2.8.2-17.fc42 fedora 876.2 KiB python3-decorator noarch 5.1.1-14.fc42 fedora 78.5 KiB python3-defusedxml noarch 0.7.1-18.fc42 fedora 196.4 KiB python3-deprecated noarch 1.2.18-1.fc43 fedora 53.0 KiB python3-executing noarch 2.2.0-1.fc42 fedora 264.8 KiB python3-fasteners noarch 0.19-10.fc42 fedora 114.5 KiB python3-fastjsonschema noarch 2.21.1-2.fc42 fedora 189.1 KiB python3-fqdn noarch 1.5.1-15.fc42 fedora 20.7 KiB python3-h11 noarch 0.14.0-6.fc42 fedora 546.4 KiB python3-html5lib noarch 1:1.1-27.fc42 fedora 1.5 MiB python3-httpcore noarch 1.0.7-2.fc42 fedora 779.1 KiB python3-httpx noarch 0.27.2-3.fc43 fedora 915.3 KiB python3-idna noarch 3.10-2.fc42 fedora 628.0 KiB python3-iniconfig noarch 1.1.1-25.fc42 fedora 20.6 KiB python3-ipykernel noarch 6.29.3-9.fc42 fedora 953.9 KiB python3-ipython noarch 8.32.0-1.fc43 fedora 4.6 MiB python3-isoduration noarch 20.11.0-11.fc42 fedora 53.2 KiB python3-jedi noarch 0.19.2-1.fc43 fedora 5.6 MiB python3-json-logger noarch 2.0.4-10.fc42 fedora 30.1 KiB python3-json5 noarch 0.10.0-2.fc42 fedora 337.7 KiB python3-jsonpointer noarch 2.4-4.fc42 fedora 45.3 KiB python3-jsonschema noarch 4.23.0-2.fc42 fedora 886.2 KiB python3-jsonschema+format-nongpl noarch 4.23.0-2.fc42 fedora 8.9 KiB python3-jsonschema-specifications noarch 2024.10.1-2.fc42 fedora 46.2 KiB python3-jupyter-client noarch 8.6.1-11.fc42 fedora 893.8 KiB python3-jupyter-core noarch 5.7.2-8.fc42 fedora 196.8 KiB python3-jupyter-events noarch 0.12.0-1.fc43 fedora 91.8 KiB python3-jupyter-lsp noarch 2.2.5-4.fc42 fedora 398.0 KiB python3-jupyter-server noarch 2.15.0-2.fc42 fedora 2.9 MiB python3-jupyter-server-terminals noarch 0.5.3-5.fc42 fedora 66.1 KiB python3-jupyterlab-server noarch 2.27.3-3.fc42 fedora 393.7 KiB python3-jupyterlab_pygments noarch 0.3.0-8.fc42 fedora 62.0 KiB python3-libs aarch64 3.13.2-2.fc43 fedora 42.0 MiB python3-lxml aarch64 5.3.1-1.fc43 fedora 4.8 MiB python3-markupsafe aarch64 3.0.2-2.fc42 fedora 111.9 KiB python3-matplotlib-inline noarch 0.1.7-5.fc42 fedora 39.5 KiB python3-mistune noarch 3.0.2-4.fc42 fedora 312.8 KiB python3-nbclient noarch 0.10.2-2.fc42 fedora 217.7 KiB python3-nbconvert noarch 7.16.4-5.fc42 fedora 1.2 MiB python3-nbformat noarch 5.9.2-8.fc43 fedora 540.1 KiB python3-nest-asyncio noarch 1.6.0-5.fc42 fedora 25.7 KiB python3-notebook-shim noarch 0.2.4-4.fc42 fedora 67.2 KiB python3-numcodecs aarch64 0.15.1-1.fc43 fedora 1.8 MiB python3-numpy-f2py aarch64 1:2.2.3-1.fc43 fedora 2.0 MiB python3-packaging noarch 24.2-3.fc42 fedora 555.7 KiB python3-pandocfilters noarch 1.5.1-6.fc42 fedora 38.6 KiB python3-parso noarch 0.8.4-4.fc42 fedora 888.9 KiB python3-pexpect noarch 4.9.0-8.fc42 fedora 620.4 KiB python3-platformdirs noarch 4.2.2-4.fc42 fedora 162.0 KiB python3-pluggy noarch 1.5.0-2.fc42 fedora 192.7 KiB python3-ply noarch 3.11-26.fc42 fedora 565.1 KiB python3-prometheus_client noarch 0.21.0-2.fc42 fedora 345.9 KiB python3-prompt-toolkit noarch 3.0.41-6.fc42 fedora 3.7 MiB python3-psutil aarch64 6.1.1-2.fc42 fedora 1.5 MiB python3-ptyprocess noarch 0.7.0-10.fc42 fedora 79.6 KiB python3-pure-eval noarch 0.2.3-2.fc42 fedora 100.2 KiB python3-pycparser noarch 2.20-19.fc42 fedora 800.6 KiB python3-pygments noarch 2.18.0-4.fc42 fedora 10.6 MiB python3-pytest noarch 8.3.4-2.fc42 fedora 20.8 MiB python3-pyyaml aarch64 6.0.2-2.fc42 fedora 788.9 KiB python3-pyzmq aarch64 26.2.1-3.fc43 fedora 1.2 MiB python3-referencing noarch 0.36.2-1.fc42 fedora 320.9 KiB python3-requests noarch 2.32.3-4.fc42 fedora 483.1 KiB python3-rfc3339-validator noarch 0.1.4-15.fc42 fedora 9.6 KiB python3-rfc3986-validator noarch 0.1.1-12.fc42 fedora 13.3 KiB python3-rpds-py aarch64 0.22.3-2.fc42 fedora 750.1 KiB python3-rpm-generators noarch 14-12.fc42 fedora 81.7 KiB python3-rpm-macros noarch 3.13-4.fc42 fedora 6.4 KiB python3-send2trash noarch 1.8.2-9.fc42 fedora 68.0 KiB python3-setuptools noarch 74.1.3-5.fc42 fedora 8.4 MiB python3-six noarch 1.17.0-2.fc42 fedora 116.9 KiB python3-sniffio noarch 1.3.1-4.fc42 fedora 34.7 KiB python3-soupsieve noarch 2.6-5.fc42 fedora 291.9 KiB python3-stack-data noarch 0.6.3-12.fc42 fedora 207.5 KiB python3-terminado noarch 0.18.1-1.fc42 fedora 121.2 KiB python3-tinycss2 noarch 1.4.0-2.fc42 fedora 250.8 KiB python3-tornado aarch64 6.4.2-1.fc43 fedora 5.1 MiB python3-traitlets noarch 5.14.3-4.fc42 fedora 954.6 KiB python3-uri-template noarch 1.2.0-11.fc42 fedora 80.0 KiB python3-urllib3 noarch 2.3.0-2.fc42 fedora 1.0 MiB python3-wcwidth noarch 0.2.13-6.fc42 fedora 559.7 KiB python3-webcolors noarch 24.11.1-2.fc42 fedora 84.2 KiB python3-webencodings noarch 0.5.1-28.fc42 fedora 85.7 KiB python3-websocket-client noarch 1.8.0-3.fc42 fedora 442.6 KiB python3-wrapt aarch64 1.17.1-2.fc42 fedora 221.4 KiB snappy aarch64 1.2.1-4.fc42 fedora 83.0 KiB tzdata noarch 2025a-1.fc43 fedora 1.6 MiB zeromq aarch64 4.3.5-21.fc42 fedora 920.1 KiB Transaction Summary: Installing: 148 packages Total size of inbound packages is 82 MiB. Need to download 31 MiB. After this operation, 383 MiB extra will be used (install 383 MiB, remove 0 B). [ 1/148] python3-devel-0:3.13.2-2.fc43 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 2/148] python3-jinja2-0:3.1.5-2.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 3/148] python3-numpy-1:2.2.3-1.fc43. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 4/148] python3-pytest-asyncio-0:0.24 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 5/148] expat-0:2.6.4-2.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 6/148] python3-0:3.13.2-2.fc43.aarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 7/148] python3-libs-0:3.13.2-2.fc43. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 8/148] python3-markupsafe-0:3.0.2-2. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 9/148] python-jupyter-filesystem-0:5 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 10/148] python3-tornado-0:6.4.2-1.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 11/148] flexiblas-netlib-0:3.4.5-1.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 12/148] python3-numpy-f2py-1:2.2.3-1. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 13/148] python3-pytest-0:8.3.4-2.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 14/148] python3-packaging-0:24.2-3.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 15/148] python3-cffi-0:1.17.1-2.fc42. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 16/148] snappy-0:1.2.1-4.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 17/148] libb2-0:0.98.1-13.fc42.aarch6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 18/148] mpdecimal-0:4.0.0-2.fc43.aarc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 19/148] python-pip-wheel-0:24.3.1-2.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 20/148] tzdata-0:2025a-1.fc43.noarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 21/148] python3-ipykernel-0:6.29.3-9. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 22/148] python3-jupyter-core-0:5.7.2- 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 23/148] python3-setuptools-0:74.1.3-5 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 24/148] python3-traitlets-0:5.14.3-4. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 25/148] python3-jupyter-client-0:8.6. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 26/148] python3-nbformat-0:5.9.2-8.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 27/148] python3-pyzmq-0:26.2.1-3.fc43 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 28/148] python3-babel-0:2.17.0-1.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 29/148] python3-jsonschema-0:4.23.0-2 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 30/148] python3-requests-0:2.32.3-4.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 31/148] flexiblas-0:3.4.5-1.fc43.aarc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 32/148] flexiblas-openblas-openmp-0:3 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 33/148] libgfortran-0:15.0.1-0.7.fc43 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 34/148] python3-iniconfig-0:1.1.1-25. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 35/148] python3-pluggy-0:1.5.0-2.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 36/148] python3-pycparser-0:2.20-19.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 37/148] python3-deprecated-0:1.2.18-1 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 38/148] python3-certifi-0:2024.08.30- 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 39/148] python3-idna-0:3.10-2.fc42.no 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 40/148] python3-comm-0:0.2.2-4.fc42.n 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 41/148] python3-ipython-0:8.32.0-1.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 42/148] python3-matplotlib-inline-0:0 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 43/148] python3-nest-asyncio-0:1.6.0- 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 44/148] python3-psutil-0:6.1.1-2.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 45/148] python3-platformdirs-0:4.2.2- 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 46/148] python3-dateutil-1:2.8.2-17.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 47/148] python3-pyyaml-0:6.0.2-2.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 48/148] python3-referencing-0:0.36.2- 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 49/148] python3-nbclient-0:0.10.2-2.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 50/148] python3-pygments-0:2.18.0-4.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 51/148] python3-fastjsonschema-0:2.21 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 52/148] python3-decorator-0:5.1.1-14. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 53/148] zeromq-0:4.3.5-21.fc42.aarch6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 54/148] python3-ptyprocess-0:0.7.0-10 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 55/148] python3-attrs-0:25.1.0-1.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 56/148] python3-jsonschema-specificat 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 57/148] python3-rpds-py-0:0.22.3-2.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 58/148] python3-charset-normalizer-0: 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 59/148] python3-urllib3-0:2.3.0-2.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 60/148] openblas-openmp-0:0.3.29-1.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 61/148] python3-ply-0:3.11-26.fc42.no 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 62/148] python3-wrapt-0:1.17.1-2.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 63/148] python3-jedi-0:0.19.2-1.fc43. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 64/148] python3-pexpect-0:4.9.0-8.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 65/148] python3-prompt-toolkit-0:3.0. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 66/148] python3-stack-data-0:0.6.3-12 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 67/148] python3-six-0:1.17.0-2.fc42.n 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 68/148] libyaml-0:0.2.5-16.fc42.aarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 69/148] libsodium-0:1.0.20-4.fc42.aar 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 70/148] libunwind-0:1.8.1-2.fc43.aarc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 71/148] openpgm-0:5.3.128-4.fc42.aarc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 72/148] openblas-0:0.3.29-1.fc42.aarc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 73/148] python3-parso-0:0.8.4-4.fc42. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 74/148] python3-wcwidth-0:0.2.13-6.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 75/148] python3-asttokens-0:2.4.1-9.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 76/148] python3-executing-0:2.2.0-1.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 77/148] python3-pure-eval-0:0.2.3-2.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 78/148] pyproject-rpm-macros-0:1.17.0 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 79/148] python-rpm-macros-0:3.13-4.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 80/148] python3-rpm-generators-0:14-1 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 81/148] python3-rpm-macros-0:3.13-4.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 82/148] python3-cloudpickle-0:3.1.1-2 100% | 2.3 MiB/s | 47.5 KiB | 00m00s [ 83/148] python3-lz4-0:4.3.3-8.fc42.aa 100% | 46.3 MiB/s | 521.9 KiB | 00m00s [ 84/148] git-core-0:2.48.1-3.fc43.aarc 100% | 113.2 MiB/s | 4.9 MiB | 00m00s [ 85/148] python3-notebook-0:7.3.2-2.fc 100% | 114.8 MiB/s | 7.7 MiB | 00m00s [ 86/148] python3-pytest-rerunfailures- 100% | 3.9 MiB/s | 31.7 KiB | 00m00s [ 87/148] python3-pytest-mock-0:3.14.0- 100% | 199.4 KiB/s | 41.5 KiB | 00m00s [ 88/148] python3-zarr-0:2.18.4-2.fc42. 100% | 6.8 MiB/s | 559.0 KiB | 00m00s [ 89/148] python3-zstandard-0:0.23.0-2. 100% | 66.2 MiB/s | 474.7 KiB | 00m00s [ 90/148] fuse-0:2.9.9-23.fc42.aarch64 100% | 224.9 KiB/s | 79.2 KiB | 00m00s [ 91/148] less-0:668-2.fc42.aarch64 100% | 36.9 MiB/s | 188.8 KiB | 00m00s [ 92/148] openssh-clients-0:9.9p1-9.fc4 100% | 148.0 MiB/s | 757.8 KiB | 00m00s [ 93/148] fuse-common-0:3.16.2-5.fc42.a 100% | 372.6 KiB/s | 8.6 KiB | 00m00s [ 94/148] python3-jupyter-server-0:2.15 100% | 84.6 MiB/s | 606.2 KiB | 00m00s [ 95/148] python3-snappy-0:0.7.2-4.fc42 100% | 91.5 KiB/s | 24.3 KiB | 00m00s [ 96/148] python3-jupyterlab-server-0:2 100% | 18.9 MiB/s | 135.4 KiB | 00m00s [ 97/148] python3-notebook-shim-0:0.2.4 100% | 9.8 MiB/s | 40.3 KiB | 00m00s [ 98/148] jupyterlab-0:4.3.5-1.fc43.noa 100% | 184.4 MiB/s | 7.6 MiB | 00m00s [ 99/148] python3-cramjam-0:2.10.0~2025 100% | 23.7 MiB/s | 1.1 MiB | 00m00s [100/148] python3-fasteners-0:0.19-10.f 100% | 690.1 KiB/s | 50.4 KiB | 00m00s [101/148] libedit-0:3.1-55.20250104cvs. 100% | 34.1 MiB/s | 104.8 KiB | 00m00s [102/148] libfido2-0:1.15.0-3.fc42.aarc 100% | 31.3 MiB/s | 96.1 KiB | 00m00s [103/148] openssh-0:9.9p1-9.fc43.aarch6 100% | 42.7 MiB/s | 349.9 KiB | 00m00s [104/148] hicolor-icon-theme-0:0.17-20. 100% | 16.0 MiB/s | 65.7 KiB | 00m00s [105/148] python3-async-lru-0:2.0.4-7.f 100% | 10.5 MiB/s | 21.5 KiB | 00m00s [106/148] python3-httpx-0:0.27.2-3.fc43 100% | 50.7 MiB/s | 207.7 KiB | 00m00s [107/148] python3-jupyter-lsp-0:2.2.5-4 100% | 38.5 MiB/s | 157.5 KiB | 00m00s [108/148] python3-anyio-0:4.8.0-1.fc43. 100% | 62.1 MiB/s | 254.2 KiB | 00m00s [109/148] python3-argon2-cffi-0:23.1.0- 100% | 9.8 MiB/s | 40.3 KiB | 00m00s [110/148] python3-jupyter-events-0:0.12 100% | 16.7 MiB/s | 51.3 KiB | 00m00s [111/148] python3-jupyter-server-termin 100% | 17.9 MiB/s | 36.6 KiB | 00m00s [112/148] python3-nbconvert-0:7.16.4-5. 100% | 86.8 MiB/s | 355.6 KiB | 00m00s [113/148] python3-prometheus_client-0:0 100% | 32.3 MiB/s | 132.4 KiB | 00m00s [114/148] python3-send2trash-0:1.8.2-9. 100% | 15.9 MiB/s | 48.8 KiB | 00m00s [115/148] python3-terminado-0:0.18.1-1. 100% | 20.9 MiB/s | 42.9 KiB | 00m00s [116/148] python3-websocket-client-0:1. 100% | 45.5 MiB/s | 139.7 KiB | 00m00s [117/148] python3-json5-0:0.10.0-2.fc42 100% | 16.8 MiB/s | 68.9 KiB | 00m00s [118/148] blosc-0:1.21.6-6.fc42.aarch64 100% | 15.9 MiB/s | 48.8 KiB | 00m00s [119/148] libcbor-0:0.11.0-3.fc42.aarch 100% | 31.6 MiB/s | 32.4 KiB | 00m00s [120/148] python3-httpcore-0:1.0.7-2.fc 100% | 36.7 MiB/s | 150.2 KiB | 00m00s [121/148] python3-sniffio-0:1.3.1-4.fc4 100% | 13.3 MiB/s | 27.2 KiB | 00m00s [122/148] python3-argon2-cffi-bindings- 100% | 8.8 MiB/s | 27.0 KiB | 00m00s [123/148] python3-json-logger-0:2.0.4-1 100% | 10.3 MiB/s | 21.0 KiB | 00m00s [124/148] python3-jsonschema+format-non 100% | 4.6 MiB/s | 9.5 KiB | 00m00s [125/148] python3-rfc3339-validator-0:0 100% | 4.8 MiB/s | 14.7 KiB | 00m00s [126/148] python3-asciitree-0:0.3.3-31. 100% | 92.1 KiB/s | 18.0 KiB | 00m00s [127/148] python3-rfc3986-validator-0:0 100% | 6.7 MiB/s | 13.8 KiB | 00m00s [128/148] python3-beautifulsoup4-0:4.12 100% | 53.0 MiB/s | 325.5 KiB | 00m00s [129/148] python3-bleach-0:6.2.0-3.fc42 100% | 13.1 MiB/s | 66.9 KiB | 00m00s [130/148] python3-defusedxml-0:0.7.1-18 100% | 19.1 MiB/s | 58.5 KiB | 00m00s [131/148] python3-jupyterlab_pygments-0 100% | 9.9 MiB/s | 30.4 KiB | 00m00s [132/148] python3-pandocfilters-0:1.5.1 100% | 5.1 MiB/s | 21.1 KiB | 00m00s [133/148] python3-mistune-0:3.0.2-4.fc4 100% | 21.5 MiB/s | 132.1 KiB | 00m00s [134/148] python3-tinycss2-0:1.4.0-2.fc 100% | 5.9 MiB/s | 71.9 KiB | 00m00s [135/148] python3-h11-0:0.14.0-6.fc42.n 100% | 11.3 MiB/s | 139.2 KiB | 00m00s [136/148] libargon2-0:20190702-7.fc42.a 100% | 4.4 MiB/s | 26.8 KiB | 00m00s [137/148] python3-fqdn-0:1.5.1-15.fc42. 100% | 2.9 MiB/s | 17.8 KiB | 00m00s [138/148] python3-jsonpointer-0:2.4-4.f 100% | 6.9 MiB/s | 21.3 KiB | 00m00s [139/148] python3-isoduration-0:20.11.0 100% | 12.9 MiB/s | 39.6 KiB | 00m00s [140/148] python3-uri-template-0:1.2.0- 100% | 11.9 MiB/s | 36.5 KiB | 00m00s [141/148] python3-webcolors-0:24.11.1-2 100% | 9.2 MiB/s | 37.7 KiB | 00m00s [142/148] python3-soupsieve-0:2.6-5.fc4 100% | 23.9 MiB/s | 98.0 KiB | 00m00s [143/148] python3-html5lib-1:1.1-27.fc4 100% | 71.4 MiB/s | 292.6 KiB | 00m00s [144/148] python3-webencodings-0:0.5.1- 100% | 15.4 MiB/s | 31.6 KiB | 00m00s [145/148] python3-arrow-0:1.2.3-12.fc42 100% | 30.4 MiB/s | 155.6 KiB | 00m00s [146/148] libxslt-0:1.1.42-4.fc42.aarch 100% | 36.8 MiB/s | 188.2 KiB | 00m00s [147/148] python3-lxml-0:5.3.1-1.fc43.a 100% | 47.6 MiB/s | 1.3 MiB | 00m00s [148/148] python3-numcodecs-0:0.15.1-1. 100% | 819.0 KiB/s | 452.1 KiB | 00m01s -------------------------------------------------------------------------------- [148/148] Total 100% | 23.3 MiB/s | 30.6 MiB | 00m01s Running transaction [ 1/150] Verify package files 100% | 498.0 B/s | 148.0 B | 00m00s [ 2/150] Prepare transaction 100% | 1.0 KiB/s | 148.0 B | 00m00s [ 3/150] Installing python-jupyter-fil 100% | 2.0 MiB/s | 2.1 KiB | 00m00s [ 4/150] Installing python-rpm-macros- 100% | 22.3 MiB/s | 22.8 KiB | 00m00s [ 5/150] Installing python3-rpm-macros 100% | 0.0 B/s | 6.7 KiB | 00m00s [ 6/150] Installing libgfortran-0:15.0 100% | 183.2 MiB/s | 1.6 MiB | 00m00s [ 7/150] Installing tzdata-0:2025a-1.f 100% | 40.1 MiB/s | 1.9 MiB | 00m00s [ 8/150] Installing snappy-0:1.2.1-4.f 100% | 82.7 MiB/s | 84.7 KiB | 00m00s [ 9/150] Installing expat-0:2.6.4-2.fc 100% | 17.1 MiB/s | 350.8 KiB | 00m00s [ 10/150] Installing blosc-0:1.21.6-6.f 100% | 64.8 MiB/s | 132.8 KiB | 00m00s [ 11/150] Installing pyproject-rpm-macr 100% | 113.2 MiB/s | 115.9 KiB | 00m00s [ 12/150] Installing libxslt-0:1.1.42-4 100% | 30.0 MiB/s | 613.9 KiB | 00m00s [ 13/150] Installing openblas-0:0.3.29- 100% | 110.8 MiB/s | 113.5 KiB | 00m00s [ 14/150] Installing openblas-openmp-0: 100% | 407.8 MiB/s | 20.4 MiB | 00m00s [ 15/150] Installing flexiblas-0:3.4.5- 100% | 50.4 MiB/s | 51.6 KiB | 00m00s [ 16/150] Installing flexiblas-openblas 100% | 66.6 MiB/s | 68.2 KiB | 00m00s [ 17/150] Installing flexiblas-netlib-0 100% | 201.7 MiB/s | 9.3 MiB | 00m00s [ 18/150] Installing openpgm-0:5.3.128- 100% | 172.7 MiB/s | 353.7 KiB | 00m00s [ 19/150] Installing libunwind-0:1.8.1- 100% | 173.4 MiB/s | 355.1 KiB | 00m00s [ 20/150] Installing libsodium-0:1.0.20 100% | 160.8 MiB/s | 329.2 KiB | 00m00s [ 21/150] Installing zeromq-0:4.3.5-21. 100% | 41.4 MiB/s | 932.6 KiB | 00m00s [ 22/150] Installing libyaml-0:0.2.5-16 100% | 132.7 MiB/s | 135.9 KiB | 00m00s [ 23/150] Installing libargon2-0:201907 100% | 82.6 MiB/s | 84.6 KiB | 00m00s [ 24/150] Installing libcbor-0:0.11.0-3 100% | 136.0 MiB/s | 139.3 KiB | 00m00s [ 25/150] Installing libfido2-0:1.15.0- 100% | 136.6 MiB/s | 279.8 KiB | 00m00s [ 26/150] Installing hicolor-icon-theme 100% | 13.5 MiB/s | 179.5 KiB | 00m00s [ 27/150] Installing python-pip-wheel-0 100% | 622.1 MiB/s | 1.2 MiB | 00m00s [ 28/150] Installing mpdecimal-0:4.0.0- 100% | 137.9 MiB/s | 282.3 KiB | 00m00s [ 29/150] Installing libb2-0:0.98.1-13. 100% | 12.2 MiB/s | 75.2 KiB | 00m00s [ 30/150] Installing python3-libs-0:3.1 100% | 259.9 MiB/s | 42.4 MiB | 00m00s [ 31/150] Installing python3-0:3.13.2-2 100% | 4.4 MiB/s | 85.4 KiB | 00m00s [ 32/150] Installing python3-traitlets- 100% | 189.8 MiB/s | 971.7 KiB | 00m00s [ 33/150] Installing python3-packaging- 100% | 138.7 MiB/s | 568.0 KiB | 00m00s [ 34/150] Installing python3-tornado-0: 100% | 284.9 MiB/s | 5.1 MiB | 00m00s [ 35/150] Installing python3-idna-0:3.1 100% | 206.5 MiB/s | 634.3 KiB | 00m00s [ 36/150] Installing python3-six-0:1.17 100% | 58.1 MiB/s | 119.0 KiB | 00m00s [ 37/150] Installing python3-numpy-f2py 100% | 57.5 MiB/s | 2.1 MiB | 00m00s [ 38/150] Installing python3-numpy-1:2. 100% | 242.7 MiB/s | 34.2 MiB | 00m00s [ 39/150] Installing python3-pyzmq-0:26 100% | 92.2 MiB/s | 1.3 MiB | 00m00s [ 40/150] Installing python3-pygments-0 100% | 159.2 MiB/s | 10.8 MiB | 00m00s [ 41/150] Installing python3-webencodin 100% | 44.2 MiB/s | 90.5 KiB | 00m00s [ 42/150] Installing python3-dateutil-1 100% | 173.8 MiB/s | 889.9 KiB | 00m00s [ 43/150] Installing python3-rfc3339-va 100% | 12.0 MiB/s | 12.3 KiB | 00m00s [ 44/150] Installing python3-matplotlib 100% | 42.6 MiB/s | 43.7 KiB | 00m00s [ 45/150] Installing python3-markupsafe 100% | 56.6 MiB/s | 115.9 KiB | 00m00s [ 46/150] Installing python3-jinja2-0:3 100% | 291.3 MiB/s | 2.9 MiB | 00m00s [ 47/150] Installing python3-certifi-0: 100% | 10.1 MiB/s | 10.4 KiB | 00m00s [ 48/150] Installing python3-sniffio-0: 100% | 19.6 MiB/s | 40.1 KiB | 00m00s [ 49/150] Installing python3-anyio-0:4. 100% | 185.8 MiB/s | 1.1 MiB | 00m00s [ 50/150] Installing python3-rfc3986-va 100% | 15.6 MiB/s | 15.9 KiB | 00m00s [ 51/150] Installing python3-decorator- 100% | 79.2 MiB/s | 81.1 KiB | 00m00s [ 52/150] Installing python3-ptyprocess 100% | 81.8 MiB/s | 83.8 KiB | 00m00s [ 53/150] Installing python3-terminado- 100% | 61.8 MiB/s | 126.6 KiB | 00m00s [ 54/150] Installing python3-attrs-0:25 100% | 100.2 MiB/s | 410.6 KiB | 00m00s [ 55/150] Installing python3-rpds-py-0: 100% | 184.1 MiB/s | 754.1 KiB | 00m00s [ 56/150] Installing python3-referencin 100% | 107.6 MiB/s | 330.6 KiB | 00m00s [ 57/150] Installing python3-jsonschema 100% | 18.1 MiB/s | 55.5 KiB | 00m00s [ 58/150] Installing python3-jsonschema 100% | 38.6 MiB/s | 908.9 KiB | 00m00s [ 59/150] Installing python3-jupyter-se 100% | 35.5 MiB/s | 72.8 KiB | 00m00s [ 60/150] Installing python3-pexpect-0: 100% | 124.7 MiB/s | 638.7 KiB | 00m00s [ 61/150] Installing python3-prometheus 100% | 88.8 MiB/s | 363.6 KiB | 00m00s [ 62/150] Installing python3-arrow-0:1. 100% | 184.0 MiB/s | 565.2 KiB | 00m00s [ 63/150] Installing python3-isoduratio 100% | 31.2 MiB/s | 63.9 KiB | 00m00s [ 64/150] Installing python3-tinycss2-0 100% | 125.8 MiB/s | 257.5 KiB | 00m00s [ 65/150] Installing python3-html5lib-1 100% | 210.3 MiB/s | 1.5 MiB | 00m00s [ 66/150] Installing python3-bleach-0:6 100% | 94.7 MiB/s | 193.9 KiB | 00m00s [ 67/150] Installing python3-jupyterlab 100% | 33.8 MiB/s | 69.2 KiB | 00m00s [ 68/150] Installing python3-asttokens- 100% | 104.4 MiB/s | 213.9 KiB | 00m00s [ 69/150] Installing python3-urllib3-0: 100% | 145.4 MiB/s | 1.0 MiB | 00m00s [ 70/150] Installing python3-rpm-genera 100% | 81.0 MiB/s | 82.9 KiB | 00m00s [ 71/150] Installing python3-comm-0:0.2 100% | 34.4 MiB/s | 35.3 KiB | 00m00s [ 72/150] Installing python3-cramjam-0: 100% | 250.6 MiB/s | 2.8 MiB | 00m00s [ 73/150] Installing python3-asciitree- 100% | 23.8 MiB/s | 24.3 KiB | 00m00s [ 74/150] Installing python3-fasteners- 100% | 59.8 MiB/s | 122.4 KiB | 00m00s [ 75/150] Installing python3-async-lru- 100% | 12.0 MiB/s | 36.8 KiB | 00m00s [ 76/150] Installing python3-setuptools 100% | 167.8 MiB/s | 8.6 MiB | 00m00s [ 77/150] Installing python3-send2trash 100% | 3.8 MiB/s | 78.8 KiB | 00m00s [ 78/150] Installing python3-websocket- 100% | 18.7 MiB/s | 458.4 KiB | 00m00s [ 79/150] Installing python3-babel-0:2. 100% | 257.7 MiB/s | 30.4 MiB | 00m00s [ 80/150] Installing python3-json5-0:0. 100% | 167.9 MiB/s | 343.8 KiB | 00m00s [ 81/150] Installing python3-iniconfig- 100% | 23.0 MiB/s | 23.5 KiB | 00m00s [ 82/150] Installing python3-pluggy-0:1 100% | 48.6 MiB/s | 199.0 KiB | 00m00s [ 83/150] Installing python3-pytest-0:8 100% | 265.9 MiB/s | 21.0 MiB | 00m00s [ 84/150] Installing python3-nest-async 100% | 27.1 MiB/s | 27.7 KiB | 00m00s [ 85/150] Installing python3-psutil-0:6 100% | 304.5 MiB/s | 1.5 MiB | 00m00s [ 86/150] Installing python3-platformdi 100% | 82.2 MiB/s | 168.4 KiB | 00m00s [ 87/150] Installing python3-jupyter-co 100% | 10.0 MiB/s | 205.3 KiB | 00m00s [ 88/150] Installing python3-jupyter-cl 100% | 37.4 MiB/s | 920.1 KiB | 00m00s [ 89/150] Installing python3-json-logge 100% | 32.3 MiB/s | 33.0 KiB | 00m00s [ 90/150] Installing python3-pyyaml-0:6 100% | 156.8 MiB/s | 802.6 KiB | 00m00s [ 91/150] Installing python3-defusedxml 100% | 99.9 MiB/s | 204.6 KiB | 00m00s [ 92/150] Installing python3-mistune-0: 100% | 81.9 MiB/s | 335.3 KiB | 00m00s [ 93/150] Installing python3-pandocfilt 100% | 39.9 MiB/s | 40.9 KiB | 00m00s [ 94/150] Installing python3-fastjsonsc 100% | 64.1 MiB/s | 197.1 KiB | 00m00s [ 95/150] Installing python3-nbformat-0 100% | 23.1 MiB/s | 568.3 KiB | 00m00s [ 96/150] Installing python3-nbclient-0 100% | 11.5 MiB/s | 224.3 KiB | 00m00s [ 97/150] Installing python3-charset-no 100% | 16.1 MiB/s | 329.5 KiB | 00m00s [ 98/150] Installing python3-requests-0 100% | 120.9 MiB/s | 495.2 KiB | 00m00s [ 99/150] Installing python3-ply-0:3.11 100% | 185.6 MiB/s | 570.3 KiB | 00m00s [100/150] Installing python3-pycparser- 100% | 198.2 MiB/s | 812.0 KiB | 00m00s [101/150] Installing python3-cffi-0:1.1 100% | 224.8 MiB/s | 1.3 MiB | 00m00s [102/150] Installing python3-argon2-cff 100% | 48.3 MiB/s | 98.8 KiB | 00m00s [103/150] Installing python3-argon2-cff 100% | 37.5 MiB/s | 76.8 KiB | 00m00s [104/150] Installing python3-wrapt-0:1. 100% | 111.4 MiB/s | 228.2 KiB | 00m00s [105/150] Installing python3-deprecated 100% | 27.6 MiB/s | 56.5 KiB | 00m00s [106/150] Installing python3-numcodecs- 100% | 156.1 MiB/s | 1.9 MiB | 00m00s [107/150] Installing python3-h11-0:0.14 100% | 137.0 MiB/s | 561.1 KiB | 00m00s [108/150] Installing python3-httpcore-0 100% | 130.2 MiB/s | 799.9 KiB | 00m00s [109/150] Installing python3-httpx-0:0. 100% | 181.9 MiB/s | 931.3 KiB | 00m00s [110/150] Installing python3-fqdn-0:1.5 100% | 23.2 MiB/s | 23.8 KiB | 00m00s [111/150] Installing python3-jsonpointe 100% | 2.6 MiB/s | 48.1 KiB | 00m00s [112/150] Installing python3-uri-templa 100% | 41.6 MiB/s | 85.2 KiB | 00m00s [113/150] Installing python3-webcolors- 100% | 43.6 MiB/s | 89.3 KiB | 00m00s [114/150] Installing python3-jsonschema 100% | 0.0 B/s | 124.0 B | 00m00s [115/150] Installing python3-jupyter-ev 100% | 4.9 MiB/s | 101.1 KiB | 00m00s [116/150] Installing python3-lxml-0:5.3 100% | 256.1 MiB/s | 4.9 MiB | 00m00s [117/150] Installing python3-soupsieve- 100% | 97.0 MiB/s | 298.0 KiB | 00m00s [118/150] Installing python3-beautifuls 100% | 178.8 MiB/s | 1.4 MiB | 00m00s [119/150] Installing python3-nbconvert- 100% | 40.3 MiB/s | 1.2 MiB | 00m00s [120/150] Installing python3-jupyter-se 100% | 81.4 MiB/s | 2.9 MiB | 00m00s [121/150] Installing python3-jupyterlab 100% | 80.7 MiB/s | 413.4 KiB | 00m00s [122/150] Installing python3-notebook-s 100% | 24.9 MiB/s | 76.4 KiB | 00m00s [123/150] Installing python3-jupyter-ls 100% | 70.3 MiB/s | 431.8 KiB | 00m00s [124/150] Installing python3-parso-0:0. 100% | 88.3 MiB/s | 904.4 KiB | 00m00s [125/150] Installing python3-jedi-0:0.1 100% | 64.1 MiB/s | 6.1 MiB | 00m00s [126/150] Installing python3-wcwidth-0: 100% | 138.0 MiB/s | 565.4 KiB | 00m00s [127/150] Installing python3-prompt-too 100% | 158.0 MiB/s | 3.8 MiB | 00m00s [128/150] Installing python3-executing- 100% | 132.1 MiB/s | 270.5 KiB | 00m00s [129/150] Installing python3-pure-eval- 100% | 51.2 MiB/s | 104.9 KiB | 00m00s [130/150] Installing python3-stack-data 100% | 52.0 MiB/s | 212.8 KiB | 00m00s [131/150] Installing python3-ipython-0: 100% | 108.7 MiB/s | 4.7 MiB | 00m00s [132/150] Installing python3-ipykernel- 100% | 96.0 MiB/s | 983.2 KiB | 00m00s [133/150] Installing jupyterlab-0:4.3.5 100% | 239.6 MiB/s | 32.6 MiB | 00m00s [134/150] Installing openssh-0:9.9p1-9. 100% | 62.8 MiB/s | 1.4 MiB | 00m00s [135/150] Installing libedit-0:3.1-55.2 100% | 137.6 MiB/s | 281.8 KiB | 00m00s [136/150] Installing openssh-clients-0: 100% | 88.1 MiB/s | 2.8 MiB | 00m00s [137/150] Installing less-0:668-2.fc42. 100% | 25.7 MiB/s | 553.0 KiB | 00m00s [138/150] Installing fuse-common-0:3.16 100% | 0.0 B/s | 292.0 B | 00m00s [139/150] Installing fuse-0:2.9.9-23.fc 100% | 17.1 MiB/s | 349.6 KiB | 00m00s [140/150] Installing git-core-0:2.48.1- 100% | 277.4 MiB/s | 22.5 MiB | 00m00s [141/150] Installing python3-notebook-0 100% | 385.8 MiB/s | 56.3 MiB | 00m00s [142/150] Installing python3-zarr-0:2.1 100% | 287.6 MiB/s | 3.2 MiB | 00m00s [143/150] Installing python3-snappy-0:0 100% | 42.8 MiB/s | 43.9 KiB | 00m00s [144/150] Installing python3-pytest-asy 100% | 147.8 MiB/s | 151.4 KiB | 00m00s [145/150] Installing python3-pytest-moc 100% | 58.5 MiB/s | 119.8 KiB | 00m00s [146/150] Installing python3-pytest-rer 100% | 41.8 MiB/s | 85.6 KiB | 00m00s [147/150] Installing python3-devel-0:3. 100% | 62.7 MiB/s | 1.8 MiB | 00m00s [148/150] Installing python3-cloudpickl 100% | 64.3 MiB/s | 131.7 KiB | 00m00s [149/150] Installing python3-lz4-0:4.3. 100% | 332.3 MiB/s | 6.3 MiB | 00m00s [150/150] Installing python3-zstandard- 100% | 22.8 MiB/s | 1.9 MiB | 00m00s Complete! Finish: build setup for python-fsspec-2024.12.0-2.fc43.src.rpm Start: rpmbuild python-fsspec-2024.12.0-2.fc43.src.rpm Building target platforms: aarch64 Building for target aarch64 setting SOURCE_DATE_EPOCH=1737158400 Executing(%mkbuilddir): /bin/sh -e /var/tmp/rpm-tmp.08xhDz + umask 022 + cd /builddir/build/BUILD/python-fsspec-2024.12.0-build + test -d /builddir/build/BUILD/python-fsspec-2024.12.0-build + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w /builddir/build/BUILD/python-fsspec-2024.12.0-build + /usr/bin/rm -rf /builddir/build/BUILD/python-fsspec-2024.12.0-build + /usr/bin/mkdir -p /builddir/build/BUILD/python-fsspec-2024.12.0-build + /usr/bin/mkdir -p /builddir/build/BUILD/python-fsspec-2024.12.0-build/SPECPARTS + RPM_EC=0 ++ jobs -p + exit 0 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.gShlLk + umask 022 + cd /builddir/build/BUILD/python-fsspec-2024.12.0-build + cd /builddir/build/BUILD/python-fsspec-2024.12.0-build + rm -rf filesystem_spec-2024.12.0 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/fsspec-2024.12.0.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd filesystem_spec-2024.12.0 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.Z976VS + umask 022 + cd /builddir/build/BUILD/python-fsspec-2024.12.0-build + cd filesystem_spec-2024.12.0 + export SETUPTOOLS_SCM_PRETEND_VERSION=2024.12.0 + SETUPTOOLS_SCM_PRETEND_VERSION=2024.12.0 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/.pyproject-builddir + RPM_TOXENV=py313 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/pyproject-wheeldir --output /builddir/build/BUILD/python-fsspec-2024.12.0-build/python-fsspec-2024.12.0-2.fc43.aarch64-pyproject-buildrequires -x arrow,dask,gcs,gs,entrypoints,fuse,git,github,hdfs,http,libarchive,sftp,smb,ssh,tqdm Handling hatchling from build-system.requires Requirement not satisfied: hatchling Handling hatch-vcs from build-system.requires Requirement not satisfied: hatch-vcs Exiting dependency generation pass: build backend + cat /builddir/build/BUILD/python-fsspec-2024.12.0-build/python-fsspec-2024.12.0-2.fc43.aarch64-pyproject-buildrequires + rm -rfv '*.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-fsspec-2024.12.0-2.fc43.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: fedora 100% | 30.1 KiB/s | 8.3 KiB | 00m00s Copr repository 100% | 89.7 KiB/s | 1.5 KiB | 00m00s Repositories loaded. Package "fuse-2.9.9-23.fc42.aarch64" is already installed. Package "git-core-2.48.1-3.fc43.aarch64" is already installed. Package "pyproject-rpm-macros-1.17.0-1.fc43.noarch" is already installed. Package "python3-devel-3.13.2-2.fc43.aarch64" is already installed. Package "python3-cloudpickle-3.1.1-2.fc42.noarch" is already installed. Package "python3-jinja2-3.1.5-2.fc42.noarch" is already installed. Package "python3-lz4-4.3.3-8.fc42.aarch64" is already installed. Package "python3-notebook-7.3.2-2.fc42.noarch" is already installed. Package "python3-numpy-1:2.2.3-1.fc43.aarch64" is already installed. Package "python3-packaging-24.2-3.fc42.noarch" is already installed. Package "python3-pytest-8.3.4-2.fc42.noarch" is already installed. Package "python3-pytest-asyncio-0.24.0-2.fc42.noarch" is already installed. Package "python3-pytest-mock-3.14.0-3.fc42.noarch" is already installed. Package "python3-pytest-rerunfailures-15.0-2.fc42.noarch" is already installed. Package "python3-snappy-0.7.2-4.fc42.noarch" is already installed. Package "python3-zarr-2.18.4-2.fc42.noarch" is already installed. Package "python3-zstandard-0.23.0-2.fc42.aarch64" is already installed. Package Arch Version Repository Size Installing: python3-hatch-vcs noarch 0.4.0-7.fc42 fedora 33.6 KiB python3-hatchling noarch 1.27.0-2.fc42 fedora 604.2 KiB python3-pip noarch 24.3.1-2.fc42 fedora 11.3 MiB Installing dependencies: python3-pathspec noarch 0.12.1-8.fc42 fedora 194.7 KiB python3-setuptools_scm noarch 8.1.0-2.fc42 fedora 319.6 KiB python3-trove-classifiers noarch 2025.1.10.15-2.fc42 fedora 92.3 KiB Transaction Summary: Installing: 6 packages Total size of inbound packages is 3 MiB. Need to download 393 KiB. After this operation, 13 MiB extra will be used (install 13 MiB, remove 0 B). [1/6] python3-pip-0:24.3.1-2.fc42.noarc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [2/6] python3-pathspec-0:0.12.1-8.fc42. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [3/6] python3-setuptools_scm-0:8.1.0-2. 100% | 7.2 MiB/s | 117.2 KiB | 00m00s [4/6] python3-hatch-vcs-0:0.4.0-7.fc42. 100% | 1.6 MiB/s | 27.6 KiB | 00m00s [5/6] python3-trove-classifiers-0:2025. 100% | 13.4 MiB/s | 27.5 KiB | 00m00s [6/6] python3-hatchling-0:1.27.0-2.fc42 100% | 10.8 MiB/s | 220.8 KiB | 00m00s -------------------------------------------------------------------------------- [6/6] Total 100% | 3.2 MiB/s | 393.1 KiB | 00m00s Running transaction [1/8] Verify package files 100% | 545.0 B/s | 6.0 B | 00m00s [2/8] Prepare transaction 100% | 153.0 B/s | 6.0 B | 00m00s [3/8] Installing python3-trove-classifi 100% | 46.6 MiB/s | 95.5 KiB | 00m00s [4/8] Installing python3-pathspec-0:0.1 100% | 65.6 MiB/s | 201.5 KiB | 00m00s [5/8] Installing python3-hatchling-0:1. 100% | 22.0 MiB/s | 653.4 KiB | 00m00s [6/8] Installing python3-setuptools_scm 100% | 66.3 MiB/s | 339.3 KiB | 00m00s [7/8] Installing python3-hatch-vcs-0:0. 100% | 7.7 MiB/s | 39.7 KiB | 00m00s [8/8] Installing python3-pip-0:24.3.1-2 100% | 101.9 MiB/s | 11.6 MiB | 00m00s Complete! Building target platforms: aarch64 Building for target aarch64 setting SOURCE_DATE_EPOCH=1737158400 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.hCZsdZ + umask 022 + cd /builddir/build/BUILD/python-fsspec-2024.12.0-build + cd filesystem_spec-2024.12.0 + export SETUPTOOLS_SCM_PRETEND_VERSION=2024.12.0 + SETUPTOOLS_SCM_PRETEND_VERSION=2024.12.0 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/.pyproject-builddir + RPM_TOXENV=py313 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/pyproject-wheeldir --output /builddir/build/BUILD/python-fsspec-2024.12.0-build/python-fsspec-2024.12.0-2.fc43.aarch64-pyproject-buildrequires -x arrow,dask,gcs,gs,entrypoints,fuse,git,github,hdfs,http,libarchive,sftp,smb,ssh,tqdm Handling hatchling from build-system.requires Requirement satisfied: hatchling (installed: hatchling 1.27.0) Handling hatch-vcs from build-system.requires Requirement satisfied: hatch-vcs (installed: hatch-vcs 0.4.0) Handling adlfs; extra == 'abfs' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: adlfs; extra == 'abfs' Handling adlfs; extra == 'adl' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: adlfs; extra == 'adl' Handling pyarrow>=1; extra == 'arrow' from hook generated metadata: Requires-Dist (fsspec) Requirement not satisfied: pyarrow>=1; extra == 'arrow' Handling dask; extra == 'dask' from hook generated metadata: Requires-Dist (fsspec) Requirement not satisfied: dask; extra == 'dask' Handling distributed; extra == 'dask' from hook generated metadata: Requires-Dist (fsspec) Requirement not satisfied: distributed; extra == 'dask' Handling pre-commit; extra == 'dev' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pre-commit; extra == 'dev' Handling ruff; extra == 'dev' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: ruff; extra == 'dev' Handling numpydoc; extra == 'doc' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: numpydoc; extra == 'doc' Handling sphinx; extra == 'doc' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: sphinx; extra == 'doc' Handling sphinx-design; extra == 'doc' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: sphinx-design; extra == 'doc' Handling sphinx-rtd-theme; extra == 'doc' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: sphinx-rtd-theme; extra == 'doc' Handling yarl; extra == 'doc' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: yarl; extra == 'doc' Handling dropbox; extra == 'dropbox' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dropbox; extra == 'dropbox' Handling dropboxdrivefs; extra == 'dropbox' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dropboxdrivefs; extra == 'dropbox' Handling requests; extra == 'dropbox' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: requests; extra == 'dropbox' Handling adlfs; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: adlfs; extra == 'full' Handling aiohttp!=4.0.0a0,!=4.0.0a1; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: aiohttp!=4.0.0a0,!=4.0.0a1; extra == 'full' Handling dask; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dask; extra == 'full' Handling distributed; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: distributed; extra == 'full' Handling dropbox; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dropbox; extra == 'full' Handling dropboxdrivefs; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dropboxdrivefs; extra == 'full' Handling fusepy; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: fusepy; extra == 'full' Handling gcsfs; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: gcsfs; extra == 'full' Handling libarchive-c; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: libarchive-c; extra == 'full' Handling ocifs; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: ocifs; extra == 'full' Handling panel; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: panel; extra == 'full' Handling paramiko; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: paramiko; extra == 'full' Handling pyarrow>=1; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pyarrow>=1; extra == 'full' Handling pygit2; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pygit2; extra == 'full' Handling requests; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: requests; extra == 'full' Handling s3fs; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: s3fs; extra == 'full' Handling smbprotocol; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: smbprotocol; extra == 'full' Handling tqdm; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: tqdm; extra == 'full' Handling fusepy; extra == 'fuse' from hook generated metadata: Requires-Dist (fsspec) Requirement not satisfied: fusepy; extra == 'fuse' Handling gcsfs; extra == 'gcs' from hook generated metadata: Requires-Dist (fsspec) Requirement not satisfied: gcsfs; extra == 'gcs' Handling pygit2; extra == 'git' from hook generated metadata: Requires-Dist (fsspec) Requirement not satisfied: pygit2; extra == 'git' Handling requests; extra == 'github' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: requests; extra == 'github' (installed: requests 2.32.3) Handling gcsfs; extra == 'gs' from hook generated metadata: Requires-Dist (fsspec) Requirement not satisfied: gcsfs; extra == 'gs' Handling panel; extra == 'gui' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: panel; extra == 'gui' Handling pyarrow>=1; extra == 'hdfs' from hook generated metadata: Requires-Dist (fsspec) Requirement not satisfied: pyarrow>=1; extra == 'hdfs' Handling aiohttp!=4.0.0a0,!=4.0.0a1; extra == 'http' from hook generated metadata: Requires-Dist (fsspec) Requirement not satisfied: aiohttp!=4.0.0a0,!=4.0.0a1; extra == 'http' Handling libarchive-c; extra == 'libarchive' from hook generated metadata: Requires-Dist (fsspec) Requirement not satisfied: libarchive-c; extra == 'libarchive' Handling ocifs; extra == 'oci' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: ocifs; extra == 'oci' Handling s3fs; extra == 's3' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: s3fs; extra == 's3' Handling paramiko; extra == 'sftp' from hook generated metadata: Requires-Dist (fsspec) Requirement not satisfied: paramiko; extra == 'sftp' Handling smbprotocol; extra == 'smb' from hook generated metadata: Requires-Dist (fsspec) Requirement not satisfied: smbprotocol; extra == 'smb' Handling paramiko; extra == 'ssh' from hook generated metadata: Requires-Dist (fsspec) Requirement not satisfied: paramiko; extra == 'ssh' Handling aiohttp!=4.0.0a0,!=4.0.0a1; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: aiohttp!=4.0.0a0,!=4.0.0a1; extra == 'test' Handling numpy; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: numpy; extra == 'test' Handling pytest; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest; extra == 'test' Handling pytest-asyncio!=0.22.0; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-asyncio!=0.22.0; extra == 'test' Handling pytest-benchmark; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-benchmark; extra == 'test' Handling pytest-cov; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-cov; extra == 'test' Handling pytest-mock; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-mock; extra == 'test' Handling pytest-recording; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-recording; extra == 'test' Handling pytest-rerunfailures; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-rerunfailures; extra == 'test' Handling requests; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: requests; extra == 'test' Handling aiobotocore<3.0.0,>=2.5.4; extra == 'test-downstream' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: aiobotocore<3.0.0,>=2.5.4; extra == 'test-downstream' Handling dask-expr; extra == 'test-downstream' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dask-expr; extra == 'test-downstream' Handling dask[dataframe,test]; extra == 'test-downstream' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dask[dataframe,test]; extra == 'test-downstream' Handling moto[server]<5,>4; extra == 'test-downstream' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: moto[server]<5,>4; extra == 'test-downstream' Handling pytest-timeout; extra == 'test-downstream' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-timeout; extra == 'test-downstream' Handling xarray; extra == 'test-downstream' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: xarray; extra == 'test-downstream' Handling adlfs; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: adlfs; extra == 'test-full' Handling aiohttp!=4.0.0a0,!=4.0.0a1; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: aiohttp!=4.0.0a0,!=4.0.0a1; extra == 'test-full' Handling cloudpickle; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: cloudpickle; extra == 'test-full' Handling dask; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dask; extra == 'test-full' Handling distributed; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: distributed; extra == 'test-full' Handling dropbox; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dropbox; extra == 'test-full' Handling dropboxdrivefs; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dropboxdrivefs; extra == 'test-full' Handling fastparquet; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: fastparquet; extra == 'test-full' Handling fusepy; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: fusepy; extra == 'test-full' Handling gcsfs; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: gcsfs; extra == 'test-full' Handling jinja2; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: jinja2; extra == 'test-full' Handling kerchunk; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: kerchunk; extra == 'test-full' Handling libarchive-c; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: libarchive-c; extra == 'test-full' Handling lz4; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: lz4; extra == 'test-full' Handling notebook; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: notebook; extra == 'test-full' Handling numpy; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: numpy; extra == 'test-full' Handling ocifs; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: ocifs; extra == 'test-full' Handling pandas; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pandas; extra == 'test-full' Handling panel; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: panel; extra == 'test-full' Handling paramiko; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: paramiko; extra == 'test-full' Handling pyarrow; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pyarrow; extra == 'test-full' Handling pyarrow>=1; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pyarrow>=1; extra == 'test-full' Handling pyftpdlib; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pyftpdlib; extra == 'test-full' Handling pygit2; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pygit2; extra == 'test-full' Handling pytest; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest; extra == 'test-full' Handling pytest-asyncio!=0.22.0; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-asyncio!=0.22.0; extra == 'test-full' Handling pytest-benchmark; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-benchmark; extra == 'test-full' Handling pytest-cov; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-cov; extra == 'test-full' Handling pytest-mock; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-mock; extra == 'test-full' Handling pytest-recording; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-recording; extra == 'test-full' Handling pytest-rerunfailures; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-rerunfailures; extra == 'test-full' Handling python-snappy; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: python-snappy; extra == 'test-full' Handling requests; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: requests; extra == 'test-full' Handling smbprotocol; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: smbprotocol; extra == 'test-full' Handling tqdm; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: tqdm; extra == 'test-full' Handling urllib3; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: urllib3; extra == 'test-full' Handling zarr; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: zarr; extra == 'test-full' Handling zstandard; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: zstandard; extra == 'test-full' Handling tqdm; extra == 'tqdm' from hook generated metadata: Requires-Dist (fsspec) Requirement not satisfied: tqdm; extra == 'tqdm' + cat /builddir/build/BUILD/python-fsspec-2024.12.0-build/python-fsspec-2024.12.0-2.fc43.aarch64-pyproject-buildrequires + rm -rfv fsspec-2024.12.0.dist-info/ removed 'fsspec-2024.12.0.dist-info/METADATA' removed directory 'fsspec-2024.12.0.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-fsspec-2024.12.0-2.fc43.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: Copr repository 100% | 89.7 KiB/s | 1.5 KiB | 00m00s fedora 100% | 153.6 KiB/s | 8.3 KiB | 00m00s Copr repository 100% | 779.2 KiB/s | 24.9 KiB | 00m00s Repositories loaded. Package "fuse-2.9.9-23.fc42.aarch64" is already installed. Package "git-core-2.48.1-3.fc43.aarch64" is already installed. Package "pyproject-rpm-macros-1.17.0-1.fc43.noarch" is already installed. Package "python3-devel-3.13.2-2.fc43.aarch64" is already installed. Package "python3-cloudpickle-3.1.1-2.fc42.noarch" is already installed. Package "python3-hatch-vcs-0.4.0-7.fc42.noarch" is already installed. Package "python3-hatchling-1.27.0-2.fc42.noarch" is already installed. Package "python3-jinja2-3.1.5-2.fc42.noarch" is already installed. Package "python3-lz4-4.3.3-8.fc42.aarch64" is already installed. Package "python3-notebook-7.3.2-2.fc42.noarch" is already installed. Package "python3-numpy-1:2.2.3-1.fc43.aarch64" is already installed. Package "python3-packaging-24.2-3.fc42.noarch" is already installed. Package "python3-pip-24.3.1-2.fc42.noarch" is already installed. Package "python3-pytest-8.3.4-2.fc42.noarch" is already installed. Package "python3-pytest-asyncio-0.24.0-2.fc42.noarch" is already installed. Package "python3-pytest-mock-3.14.0-3.fc42.noarch" is already installed. Package "python3-pytest-rerunfailures-15.0-2.fc42.noarch" is already installed. Package "python3-snappy-0.7.2-4.fc42.noarch" is already installed. Package "python3-requests-2.32.3-4.fc42.noarch" is already installed. Package "python3-zarr-2.18.4-2.fc42.noarch" is already installed. Package "python3-zstandard-0.23.0-2.fc42.aarch64" is already installed. Package Arch Version Repository Size Installing: python3-aiohttp aarch64 3.10.11-2.fc42 fedora 3.1 MiB python3-dask noarch 2024.12.1-2.fc42 fedora 17.3 MiB python3-distributed noarch 2024.12.1-2.fc42 fedora 17.4 MiB python3-fusepy noarch 3.0.1-1.fc42 fedora 150.8 KiB python3-gcsfs noarch 2024.9.0-2.fc42 fedora 329.9 KiB python3-libarchive-c noarch 5.1-6.fc42 fedora 126.9 KiB python3-paramiko noarch 3.5.1-1.fc42 fedora 1.7 MiB python3-pyarrow aarch64 19.0.0-1.fc43 fedora 26.0 MiB python3-pygit2 aarch64 1.17.0-2.fc42 fedora 1.2 MiB python3-smbprotocol noarch 1.9.0-9.fc42 fedora 1.0 MiB python3-tqdm noarch 4.67.1-3.fc42 fedora 566.9 KiB Installing dependencies: abseil-cpp aarch64 20240722.1-1.fc42 fedora 6.4 MiB boost-program-options aarch64 1.83.0-12.fc42 fedora 267.4 KiB c-ares aarch64 1.34.4-3.fc43 fedora 273.6 KiB fuse-libs aarch64 2.9.9-23.fc42 fedora 357.0 KiB glib2 aarch64 2.83.2-6.fc42 fedora 15.3 MiB gnutls aarch64 3.8.9-4.fc43 fedora 3.4 MiB google-crc32c aarch64 1.1.2-11.fc42 fedora 72.0 KiB grpc aarch64 1.48.4-46.fc43 fedora 9.9 MiB grpc-cpp aarch64 1.48.4-46.fc43 fedora 3.2 MiB grpc-data noarch 1.48.4-46.fc43 fedora 29.6 KiB libarrow aarch64 19.0.0-1.fc43 fedora 21.1 MiB libarrow-acero-libs aarch64 19.0.0-1.fc43 fedora 1.2 MiB libarrow-dataset-libs aarch64 19.0.0-1.fc43 fedora 1.4 MiB libarrow-doc noarch 19.0.0-1.fc43 fedora 115.8 KiB libarrow-flight-libs aarch64 19.0.0-1.fc43 fedora 1.4 MiB libarrow-glib-libs aarch64 19.0.0-1.fc43 fedora 1.6 MiB libgit2 aarch64 1.9.0-4.fc42 fedora 1.3 MiB libicu aarch64 76.1-4.fc42 fedora 36.5 MiB liborc2 aarch64 2.1.0-1.fc43 fedora 1.7 MiB libssh2 aarch64 1.11.1-3.fc42 fedora 350.6 KiB llhttp aarch64 9.2.1-5.fc42 fedora 132.6 KiB nettle aarch64 3.10.1-1.fc43 fedora 765.3 KiB parquet-libs aarch64 19.0.0-1.fc43 fedora 3.1 MiB protobuf aarch64 3.19.6-10.fc41 fedora 3.2 MiB protobuf-compiler aarch64 3.19.6-10.fc41 fedora 2.6 MiB python3-aiohappyeyeballs noarch 2.4.4-4.fc43 fedora 92.9 KiB python3-aiosignal noarch 1.3.2-2.fc42 fedora 33.4 KiB python3-bcrypt aarch64 4.2.1-2.fc42 fedora 511.4 KiB python3-cachetools noarch 5.5.1-1.fc42 fedora 135.2 KiB python3-click noarch 8.1.7-7.fc42 fedora 1.0 MiB python3-cryptography aarch64 44.0.0-3.fc43 fedora 4.7 MiB python3-frozenlist aarch64 1.5.0-3.fc42 fedora 182.5 KiB python3-fsspec noarch 2024.12.0-2.fc42 fedora 1.7 MiB python3-google-api-core noarch 1:2.11.1-11.fc42 fedora 792.7 KiB python3-google-auth noarch 1:2.38.0-1.fc42 fedora 1.4 MiB python3-google-auth-oauthlib noarch 1.2.1-2.fc42 fedora 97.5 KiB python3-google-cloud-core noarch 2.3.3-7.fc42 fedora 178.8 KiB python3-google-cloud-storage noarch 2.14.0-7.fc42 fedora 1.2 MiB python3-google-crc32c aarch64 1.6.0-3.fc42 fedora 114.5 KiB python3-google-resumable-media noarch 2.7.2-3.fc42 fedora 648.8 KiB python3-googleapis-common-protos noarch 1.63.0-8.fc42 fedora 777.0 KiB python3-grpcio aarch64 1.48.4-46.fc43 fedora 7.3 MiB python3-grpcio-status noarch 1.48.4-46.fc43 fedora 14.0 KiB python3-locket noarch 1.0.0-12.fc42 fedora 20.6 KiB python3-msgpack aarch64 1.1.0-2.fc42 fedora 348.4 KiB python3-multidict aarch64 6.1.0-2.fc42 fedora 168.6 KiB python3-oauthlib noarch 3.2.2-6.fc42 fedora 987.3 KiB python3-partd noarch 1.4.2-3.fc42 fedora 163.3 KiB python3-propcache aarch64 0.2.0-1.fc43 fedora 172.4 KiB python3-protobuf aarch64 3.19.6-10.fc41 fedora 2.2 MiB python3-pyasn1 noarch 0.6.1-3.fc42 fedora 863.7 KiB python3-pyasn1-modules noarch 0.6.1-3.fc42 fedora 1.7 MiB python3-pynacl aarch64 1.5.0-14.fc42 fedora 644.4 KiB python3-requests-oauthlib noarch 1.3.1-11.fc42 fedora 133.1 KiB python3-rsa noarch 4.9-8.fc42 fedora 238.0 KiB python3-sortedcontainers noarch 2.4.0-19.fc42 fedora 386.7 KiB python3-spnego noarch 0.11.1-2.fc42 fedora 1.0 MiB python3-tblib noarch 3.0.0-5.fc42 fedora 85.2 KiB python3-toolz noarch 1.0.0-2.fc42 fedora 605.8 KiB python3-yarl aarch64 1.18.3-1.fc43 fedora 521.2 KiB python3-zict noarch 3.0.0-8.fc42 fedora 446.4 KiB re2 aarch64 1:20240702-28.fc42 fedora 590.2 KiB thrift aarch64 0.20.0-3.fc41 fedora 4.5 MiB utf8proc aarch64 2.9.0-2.fc42 fedora 410.6 KiB Transaction Summary: Installing: 75 packages Total size of inbound packages is 53 MiB. Need to download 10 MiB. After this operation, 222 MiB extra will be used (install 222 MiB, remove 0 B). [ 1/75] python3-aiohttp-0:3.10.11-2.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 2/75] python3-gcsfs-0:2024.9.0-2.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 3/75] python3-pyarrow-0:19.0.0-1.fc43 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 4/75] python3-tqdm-0:4.67.1-3.fc42.no 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 5/75] llhttp-0:9.2.1-5.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 6/75] python3-aiohappyeyeballs-0:2.4. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 7/75] python3-aiosignal-0:1.3.2-2.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 8/75] python3-frozenlist-0:1.5.0-3.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 9/75] python3-multidict-0:6.1.0-2.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [10/75] python3-yarl-0:1.18.3-1.fc43.aa 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [11/75] python3-click-0:8.1.7-7.fc42.no 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [12/75] python3-fsspec-0:2024.12.0-2.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [13/75] python3-google-auth-1:2.38.0-1. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [14/75] python3-google-auth-oauthlib-0: 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [15/75] python3-google-cloud-storage-0: 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [16/75] python3-cryptography-0:44.0.0-3 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [17/75] python3-pynacl-0:1.5.0-14.fc42. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [18/75] libarrow-0:19.0.0-1.fc43.aarch6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [19/75] libarrow-acero-libs-0:19.0.0-1. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [20/75] libarrow-dataset-libs-0:19.0.0- 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [21/75] libarrow-flight-libs-0:19.0.0-1 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [22/75] parquet-libs-0:19.0.0-1.fc43.aa 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [23/75] python3-propcache-0:0.2.0-1.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [24/75] python3-cachetools-0:5.5.1-1.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [25/75] python3-pyasn1-modules-0:0.6.1- 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [26/75] python3-rsa-0:4.9-8.fc42.noarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [27/75] python3-requests-oauthlib-0:1.3 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [28/75] python3-google-api-core-1:2.11. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [29/75] python3-google-cloud-core-0:2.3 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [30/75] python3-google-crc32c-0:1.6.0-3 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [31/75] python3-google-resumable-media- 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [32/75] libarrow-doc-0:19.0.0-1.fc43.no 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [33/75] liborc2-0:2.1.0-1.fc43.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [34/75] re2-1:20240702-28.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [35/75] utf8proc-0:2.9.0-2.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [36/75] abseil-cpp-0:20240722.1-1.fc42. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [37/75] glib2-0:2.83.2-6.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [38/75] grpc-0:1.48.4-46.fc43.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [39/75] grpc-cpp-0:1.48.4-46.fc43.aarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [40/75] libarrow-glib-libs-0:19.0.0-1.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [41/75] protobuf-0:3.19.6-10.fc41.aarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [42/75] boost-program-options-0:1.83.0- 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [43/75] thrift-0:0.20.0-3.fc41.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [44/75] python3-pyasn1-0:0.6.1-3.fc42.n 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [45/75] python3-oauthlib-0:3.2.2-6.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [46/75] python3-googleapis-common-proto 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [47/75] python3-grpcio-0:1.48.4-46.fc43 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [48/75] python3-grpcio-status-0:1.48.4- 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [49/75] python3-protobuf-0:3.19.6-10.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [50/75] google-crc32c-0:1.1.2-11.fc42.a 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [51/75] libicu-0:76.1-4.fc42.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [52/75] gnutls-0:3.8.9-4.fc43.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [53/75] c-ares-0:1.34.4-3.fc43.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [54/75] grpc-data-0:1.48.4-46.fc43.noar 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [55/75] protobuf-compiler-0:3.19.6-10.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [56/75] nettle-0:3.10.1-1.fc43.aarch64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [57/75] python3-fusepy-0:3.0.1-1.fc42.n 100% | 1.6 MiB/s | 35.2 KiB | 00m00s [58/75] python3-dask-0:2024.12.1-2.fc42 100% | 109.5 MiB/s | 3.2 MiB | 00m00s [59/75] python3-paramiko-0:3.5.1-1.fc42 100% | 4.6 MiB/s | 412.7 KiB | 00m00s [60/75] python3-pygit2-0:1.17.0-2.fc42. 100% | 31.5 MiB/s | 290.6 KiB | 00m00s [61/75] python3-libarchive-c-0:5.1-6.fc 100% | 235.8 KiB/s | 49.5 KiB | 00m00s [62/75] python3-partd-0:1.4.2-3.fc42.no 100% | 10.2 MiB/s | 62.9 KiB | 00m00s [63/75] python3-toolz-0:1.0.0-2.fc42.no 100% | 33.5 MiB/s | 171.4 KiB | 00m00s [64/75] python3-locket-0:1.0.0-12.fc42. 100% | 1.9 MiB/s | 17.8 KiB | 00m00s [65/75] python3-msgpack-0:1.1.0-2.fc42. 100% | 25.2 MiB/s | 103.1 KiB | 00m00s [66/75] python3-sortedcontainers-0:2.4. 100% | 31.1 MiB/s | 63.7 KiB | 00m00s [67/75] python3-tblib-0:3.0.0-5.fc42.no 100% | 4.1 MiB/s | 29.3 KiB | 00m00s [68/75] python3-zict-0:3.0.0-8.fc42.noa 100% | 17.9 MiB/s | 128.0 KiB | 00m00s [69/75] fuse-libs-0:2.9.9-23.fc42.aarch 100% | 1.1 MiB/s | 94.7 KiB | 00m00s [70/75] python3-bcrypt-0:4.2.1-2.fc42.a 100% | 5.0 MiB/s | 225.8 KiB | 00m00s [71/75] libgit2-0:1.9.0-4.fc42.aarch64 100% | 78.1 MiB/s | 559.5 KiB | 00m00s [72/75] python3-spnego-0:0.11.1-2.fc42. 100% | 69.2 MiB/s | 283.5 KiB | 00m00s [73/75] libssh2-0:1.11.1-3.fc42.aarch64 100% | 34.8 MiB/s | 142.5 KiB | 00m00s [74/75] python3-smbprotocol-0:1.9.0-9.f 100% | 737.9 KiB/s | 259.0 KiB | 00m00s [75/75] python3-distributed-0:2024.12.1 100% | 5.5 MiB/s | 3.6 MiB | 00m01s -------------------------------------------------------------------------------- [75/75] Total 100% | 12.7 MiB/s | 9.6 MiB | 00m01s Running transaction [ 1/77] Verify package files 100% | 392.0 B/s | 75.0 B | 00m00s [ 2/77] Prepare transaction 100% | 806.0 B/s | 75.0 B | 00m00s [ 3/77] Installing libarrow-doc-0:19.0. 100% | 113.9 MiB/s | 116.6 KiB | 00m00s [ 4/77] Installing protobuf-0:3.19.6-10 100% | 295.0 MiB/s | 3.2 MiB | 00m00s [ 5/77] Installing abseil-cpp-0:2024072 100% | 292.9 MiB/s | 6.4 MiB | 00m00s [ 6/77] Installing python3-protobuf-0:3 100% | 185.4 MiB/s | 2.2 MiB | 00m00s [ 7/77] Installing python3-cryptography 100% | 172.2 MiB/s | 4.8 MiB | 00m00s [ 8/77] Installing python3-toolz-0:1.0. 100% | 101.7 MiB/s | 625.1 KiB | 00m00s [ 9/77] Installing python3-googleapis-c 100% | 81.2 MiB/s | 831.4 KiB | 00m00s [10/77] Installing grpc-data-0:1.48.4-4 100% | 29.7 MiB/s | 30.4 KiB | 00m00s [11/77] Installing c-ares-0:1.34.4-3.fc 100% | 134.4 MiB/s | 275.2 KiB | 00m00s [12/77] Installing python3-pyasn1-0:0.6 100% | 144.2 MiB/s | 886.2 KiB | 00m00s [13/77] Installing python3-locket-0:1.0 100% | 11.2 MiB/s | 23.0 KiB | 00m00s [14/77] Installing python3-fsspec-0:202 100% | 175.2 MiB/s | 1.8 MiB | 00m00s [15/77] Installing python3-click-0:8.1. 100% | 211.9 MiB/s | 1.1 MiB | 00m00s [16/77] Installing python3-multidict-0: 100% | 85.0 MiB/s | 174.2 KiB | 00m00s [17/77] Installing python3-frozenlist-0 100% | 91.0 MiB/s | 186.4 KiB | 00m00s [18/77] Installing llhttp-0:9.2.1-5.fc4 100% | 130.5 MiB/s | 133.7 KiB | 00m00s [19/77] Installing python3-aiosignal-0: 100% | 35.8 MiB/s | 36.7 KiB | 00m00s [20/77] Installing python3-partd-0:1.4. 100% | 42.1 MiB/s | 172.6 KiB | 00m00s [21/77] Installing python3-dask-0:2024. 100% | 195.7 MiB/s | 17.4 MiB | 00m00s [22/77] Installing python3-pyasn1-modul 100% | 125.3 MiB/s | 1.8 MiB | 00m00s [23/77] Installing python3-rsa-0:4.9-8. 100% | 11.6 MiB/s | 249.4 KiB | 00m00s [24/77] Installing python3-spnego-0:0.1 100% | 46.0 MiB/s | 1.1 MiB | 00m00s [25/77] Installing liborc2-0:2.1.0-1.fc 100% | 289.2 MiB/s | 1.7 MiB | 00m00s [26/77] Installing protobuf-compiler-0: 100% | 103.9 MiB/s | 2.6 MiB | 00m00s [27/77] Installing nettle-0:3.10.1-1.fc 100% | 187.6 MiB/s | 768.4 KiB | 00m00s [28/77] Installing gnutls-0:3.8.9-4.fc4 100% | 285.8 MiB/s | 3.4 MiB | 00m00s [29/77] Installing glib2-0:2.83.2-6.fc4 100% | 229.1 MiB/s | 15.3 MiB | 00m00s [30/77] Installing libicu-0:76.1-4.fc42 100% | 332.1 MiB/s | 36.5 MiB | 00m00s [31/77] Installing re2-1:20240702-28.fc 100% | 192.6 MiB/s | 591.5 KiB | 00m00s [32/77] Installing grpc-0:1.48.4-46.fc4 100% | 354.2 MiB/s | 9.9 MiB | 00m00s [33/77] Installing python3-grpcio-0:1.4 100% | 251.3 MiB/s | 7.3 MiB | 00m00s [34/77] Installing python3-grpcio-statu 100% | 17.4 MiB/s | 17.9 KiB | 00m00s [35/77] Installing grpc-cpp-0:1.48.4-46 100% | 317.1 MiB/s | 3.2 MiB | 00m00s [36/77] Installing google-crc32c-0:1.1. 100% | 71.7 MiB/s | 73.5 KiB | 00m00s [37/77] Installing python3-google-crc32 100% | 58.8 MiB/s | 120.5 KiB | 00m00s [38/77] Installing python3-google-resum 100% | 161.8 MiB/s | 662.7 KiB | 00m00s [39/77] Installing python3-oauthlib-0:3 100% | 92.0 MiB/s | 1.0 MiB | 00m00s [40/77] Installing python3-requests-oau 100% | 47.4 MiB/s | 145.5 KiB | 00m00s [41/77] Installing libssh2-0:1.11.1-3.f 100% | 172.0 MiB/s | 352.3 KiB | 00m00s [42/77] Installing libgit2-0:1.9.0-4.fc 100% | 268.5 MiB/s | 1.3 MiB | 00m00s [43/77] Installing thrift-0:0.20.0-3.fc 100% | 140.8 MiB/s | 4.5 MiB | 00m00s [44/77] Installing boost-program-option 100% | 131.0 MiB/s | 268.3 KiB | 00m00s [45/77] Installing utf8proc-0:2.9.0-2.f 100% | 201.2 MiB/s | 412.0 KiB | 00m00s [46/77] Installing libarrow-0:19.0.0-1. 100% | 376.6 MiB/s | 21.1 MiB | 00m00s [47/77] Installing libarrow-acero-libs- 100% | 245.3 MiB/s | 1.2 MiB | 00m00s [48/77] Installing parquet-libs-0:19.0. 100% | 350.1 MiB/s | 3.2 MiB | 00m00s [49/77] Installing libarrow-dataset-lib 100% | 271.5 MiB/s | 1.4 MiB | 00m00s [50/77] Installing libarrow-glib-libs-0 100% | 314.2 MiB/s | 1.6 MiB | 00m00s [51/77] Installing libarrow-flight-libs 100% | 287.7 MiB/s | 1.4 MiB | 00m00s [52/77] Installing python3-cachetools-0 100% | 67.8 MiB/s | 138.8 KiB | 00m00s [53/77] Installing python3-google-auth- 100% | 128.7 MiB/s | 1.4 MiB | 00m00s [54/77] Installing python3-google-api-c 100% | 114.8 MiB/s | 823.2 KiB | 00m00s [55/77] Installing python3-google-cloud 100% | 46.7 MiB/s | 191.3 KiB | 00m00s [56/77] Installing python3-google-cloud 100% | 239.0 MiB/s | 1.2 MiB | 00m00s [57/77] Installing python3-google-auth- 100% | 5.3 MiB/s | 103.9 KiB | 00m00s [58/77] Installing python3-propcache-0: 100% | 86.8 MiB/s | 177.7 KiB | 00m00s [59/77] Installing python3-yarl-0:1.18. 100% | 172.0 MiB/s | 528.3 KiB | 00m00s [60/77] Installing python3-pynacl-0:1.5 100% | 129.8 MiB/s | 664.5 KiB | 00m00s [61/77] Installing python3-bcrypt-0:4.2 100% | 167.7 MiB/s | 515.1 KiB | 00m00s [62/77] Installing fuse-libs-0:2.9.9-23 100% | 175.1 MiB/s | 358.7 KiB | 00m00s [63/77] Installing python3-zict-0:3.0.0 100% | 112.7 MiB/s | 461.8 KiB | 00m00s [64/77] Installing python3-tblib-0:3.0. 100% | 87.0 MiB/s | 89.0 KiB | 00m00s [65/77] Installing python3-sortedcontai 100% | 190.9 MiB/s | 391.0 KiB | 00m00s [66/77] Installing python3-msgpack-0:1. 100% | 172.5 MiB/s | 353.3 KiB | 00m00s [67/77] Installing python3-aiohappyeyeb 100% | 47.9 MiB/s | 98.0 KiB | 00m00s [68/77] Installing python3-aiohttp-0:3. 100% | 244.5 MiB/s | 3.2 MiB | 00m00s [69/77] Installing python3-gcsfs-0:2024 100% | 66.0 MiB/s | 337.9 KiB | 00m00s [70/77] Installing python3-distributed- 100% | 181.1 MiB/s | 17.6 MiB | 00m00s [71/77] Installing python3-fusepy-0:3.0 100% | 74.6 MiB/s | 152.8 KiB | 00m00s [72/77] Installing python3-paramiko-0:3 100% | 167.7 MiB/s | 1.7 MiB | 00m00s [73/77] Installing python3-pyarrow-0:19 100% | 326.6 MiB/s | 26.1 MiB | 00m00s [74/77] Installing python3-pygit2-0:1.1 100% | 155.8 MiB/s | 1.2 MiB | 00m00s [75/77] Installing python3-smbprotocol- 100% | 175.5 MiB/s | 1.1 MiB | 00m00s [76/77] Installing python3-tqdm-0:4.67. 100% | 25.1 MiB/s | 590.0 KiB | 00m00s [77/77] Installing python3-libarchive-c 100% | 1.5 MiB/s | 133.3 KiB | 00m00s Complete! Building target platforms: aarch64 Building for target aarch64 setting SOURCE_DATE_EPOCH=1737158400 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.Vma5Uf + umask 022 + cd /builddir/build/BUILD/python-fsspec-2024.12.0-build + cd filesystem_spec-2024.12.0 + export SETUPTOOLS_SCM_PRETEND_VERSION=2024.12.0 + SETUPTOOLS_SCM_PRETEND_VERSION=2024.12.0 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/.pyproject-builddir + RPM_TOXENV=py313 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/pyproject-wheeldir --output /builddir/build/BUILD/python-fsspec-2024.12.0-build/python-fsspec-2024.12.0-2.fc43.aarch64-pyproject-buildrequires -x arrow,dask,gcs,gs,entrypoints,fuse,git,github,hdfs,http,libarchive,sftp,smb,ssh,tqdm Handling hatchling from build-system.requires Requirement satisfied: hatchling (installed: hatchling 1.27.0) Handling hatch-vcs from build-system.requires Requirement satisfied: hatch-vcs (installed: hatch-vcs 0.4.0) Handling adlfs; extra == 'abfs' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: adlfs; extra == 'abfs' Handling adlfs; extra == 'adl' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: adlfs; extra == 'adl' Handling pyarrow>=1; extra == 'arrow' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: pyarrow>=1; extra == 'arrow' (installed: pyarrow 19.0.0) Handling dask; extra == 'dask' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: dask; extra == 'dask' (installed: dask 2024.12.1) Handling distributed; extra == 'dask' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: distributed; extra == 'dask' (installed: distributed 2024.12.1) Handling pre-commit; extra == 'dev' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pre-commit; extra == 'dev' Handling ruff; extra == 'dev' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: ruff; extra == 'dev' Handling numpydoc; extra == 'doc' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: numpydoc; extra == 'doc' Handling sphinx; extra == 'doc' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: sphinx; extra == 'doc' Handling sphinx-design; extra == 'doc' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: sphinx-design; extra == 'doc' Handling sphinx-rtd-theme; extra == 'doc' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: sphinx-rtd-theme; extra == 'doc' Handling yarl; extra == 'doc' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: yarl; extra == 'doc' Handling dropbox; extra == 'dropbox' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dropbox; extra == 'dropbox' Handling dropboxdrivefs; extra == 'dropbox' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dropboxdrivefs; extra == 'dropbox' Handling requests; extra == 'dropbox' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: requests; extra == 'dropbox' Handling adlfs; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: adlfs; extra == 'full' Handling aiohttp!=4.0.0a0,!=4.0.0a1; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: aiohttp!=4.0.0a0,!=4.0.0a1; extra == 'full' Handling dask; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dask; extra == 'full' Handling distributed; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: distributed; extra == 'full' Handling dropbox; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dropbox; extra == 'full' Handling dropboxdrivefs; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dropboxdrivefs; extra == 'full' Handling fusepy; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: fusepy; extra == 'full' Handling gcsfs; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: gcsfs; extra == 'full' Handling libarchive-c; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: libarchive-c; extra == 'full' Handling ocifs; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: ocifs; extra == 'full' Handling panel; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: panel; extra == 'full' Handling paramiko; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: paramiko; extra == 'full' Handling pyarrow>=1; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pyarrow>=1; extra == 'full' Handling pygit2; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pygit2; extra == 'full' Handling requests; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: requests; extra == 'full' Handling s3fs; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: s3fs; extra == 'full' Handling smbprotocol; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: smbprotocol; extra == 'full' Handling tqdm; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: tqdm; extra == 'full' Handling fusepy; extra == 'fuse' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: fusepy; extra == 'fuse' (installed: fusepy 3.0.1) Handling gcsfs; extra == 'gcs' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: gcsfs; extra == 'gcs' (installed: gcsfs 2024.9.0) Handling pygit2; extra == 'git' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: pygit2; extra == 'git' (installed: pygit2 1.17.0) Handling requests; extra == 'github' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: requests; extra == 'github' (installed: requests 2.32.3) Handling gcsfs; extra == 'gs' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: gcsfs; extra == 'gs' (installed: gcsfs 2024.9.0) Handling panel; extra == 'gui' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: panel; extra == 'gui' Handling pyarrow>=1; extra == 'hdfs' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: pyarrow>=1; extra == 'hdfs' (installed: pyarrow 19.0.0) Handling aiohttp!=4.0.0a0,!=4.0.0a1; extra == 'http' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: aiohttp!=4.0.0a0,!=4.0.0a1; extra == 'http' (installed: aiohttp 3.10.11) Handling libarchive-c; extra == 'libarchive' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: libarchive-c; extra == 'libarchive' (installed: libarchive-c 5.1) Handling ocifs; extra == 'oci' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: ocifs; extra == 'oci' Handling s3fs; extra == 's3' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: s3fs; extra == 's3' Handling paramiko; extra == 'sftp' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: paramiko; extra == 'sftp' (installed: paramiko 3.5.1) Handling smbprotocol; extra == 'smb' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: smbprotocol; extra == 'smb' (installed: smbprotocol 1.9.0) Handling paramiko; extra == 'ssh' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: paramiko; extra == 'ssh' (installed: paramiko 3.5.1) Handling aiohttp!=4.0.0a0,!=4.0.0a1; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: aiohttp!=4.0.0a0,!=4.0.0a1; extra == 'test' Handling numpy; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: numpy; extra == 'test' Handling pytest; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest; extra == 'test' Handling pytest-asyncio!=0.22.0; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-asyncio!=0.22.0; extra == 'test' Handling pytest-benchmark; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-benchmark; extra == 'test' Handling pytest-cov; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-cov; extra == 'test' Handling pytest-mock; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-mock; extra == 'test' Handling pytest-recording; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-recording; extra == 'test' Handling pytest-rerunfailures; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-rerunfailures; extra == 'test' Handling requests; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: requests; extra == 'test' Handling aiobotocore<3.0.0,>=2.5.4; extra == 'test-downstream' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: aiobotocore<3.0.0,>=2.5.4; extra == 'test-downstream' Handling dask-expr; extra == 'test-downstream' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dask-expr; extra == 'test-downstream' Handling dask[dataframe,test]; extra == 'test-downstream' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dask[dataframe,test]; extra == 'test-downstream' Handling moto[server]<5,>4; extra == 'test-downstream' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: moto[server]<5,>4; extra == 'test-downstream' Handling pytest-timeout; extra == 'test-downstream' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-timeout; extra == 'test-downstream' Handling xarray; extra == 'test-downstream' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: xarray; extra == 'test-downstream' Handling adlfs; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: adlfs; extra == 'test-full' Handling aiohttp!=4.0.0a0,!=4.0.0a1; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: aiohttp!=4.0.0a0,!=4.0.0a1; extra == 'test-full' Handling cloudpickle; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: cloudpickle; extra == 'test-full' Handling dask; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dask; extra == 'test-full' Handling distributed; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: distributed; extra == 'test-full' Handling dropbox; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dropbox; extra == 'test-full' Handling dropboxdrivefs; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dropboxdrivefs; extra == 'test-full' Handling fastparquet; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: fastparquet; extra == 'test-full' Handling fusepy; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: fusepy; extra == 'test-full' Handling gcsfs; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: gcsfs; extra == 'test-full' Handling jinja2; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: jinja2; extra == 'test-full' Handling kerchunk; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: kerchunk; extra == 'test-full' Handling libarchive-c; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: libarchive-c; extra == 'test-full' Handling lz4; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: lz4; extra == 'test-full' Handling notebook; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: notebook; extra == 'test-full' Handling numpy; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: numpy; extra == 'test-full' Handling ocifs; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: ocifs; extra == 'test-full' Handling pandas; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pandas; extra == 'test-full' Handling panel; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: panel; extra == 'test-full' Handling paramiko; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: paramiko; extra == 'test-full' Handling pyarrow; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pyarrow; extra == 'test-full' Handling pyarrow>=1; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pyarrow>=1; extra == 'test-full' Handling pyftpdlib; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pyftpdlib; extra == 'test-full' Handling pygit2; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pygit2; extra == 'test-full' Handling pytest; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest; extra == 'test-full' Handling pytest-asyncio!=0.22.0; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-asyncio!=0.22.0; extra == 'test-full' Handling pytest-benchmark; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-benchmark; extra == 'test-full' Handling pytest-cov; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-cov; extra == 'test-full' Handling pytest-mock; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-mock; extra == 'test-full' Handling pytest-recording; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-recording; extra == 'test-full' Handling pytest-rerunfailures; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-rerunfailures; extra == 'test-full' Handling python-snappy; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: python-snappy; extra == 'test-full' Handling requests; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: requests; extra == 'test-full' Handling smbprotocol; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: smbprotocol; extra == 'test-full' Handling tqdm; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: tqdm; extra == 'test-full' Handling urllib3; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: urllib3; extra == 'test-full' Handling zarr; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: zarr; extra == 'test-full' Handling zstandard; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: zstandard; extra == 'test-full' Handling tqdm; extra == 'tqdm' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: tqdm; extra == 'tqdm' (installed: tqdm 4.67.1) + cat /builddir/build/BUILD/python-fsspec-2024.12.0-build/python-fsspec-2024.12.0-2.fc43.aarch64-pyproject-buildrequires + rm -rfv fsspec-2024.12.0.dist-info/ removed 'fsspec-2024.12.0.dist-info/METADATA' removed directory 'fsspec-2024.12.0.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-fsspec-2024.12.0-2.fc43.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: fedora 100% | 23.0 KiB/s | 8.3 KiB | 00m00s Copr repository 100% | 101.6 KiB/s | 1.5 KiB | 00m00s Repositories loaded. Package "fuse-2.9.9-23.fc42.aarch64" is already installed. Package "git-core-2.48.1-3.fc43.aarch64" is already installed. Package "pyproject-rpm-macros-1.17.0-1.fc43.noarch" is already installed. Package "python3-devel-3.13.2-2.fc43.aarch64" is already installed. Package "python3-cloudpickle-3.1.1-2.fc42.noarch" is already installed. Package "python3-dask-2024.12.1-2.fc42.noarch" is already installed. Package "python3-distributed-2024.12.1-2.fc42.noarch" is already installed. Package "python3-fusepy-3.0.1-1.fc42.noarch" is already installed. Package "python3-gcsfs-2024.9.0-2.fc42.noarch" is already installed. Package "python3-hatch-vcs-0.4.0-7.fc42.noarch" is already installed. Package "python3-hatchling-1.27.0-2.fc42.noarch" is already installed. Package "python3-jinja2-3.1.5-2.fc42.noarch" is already installed. Package "python3-libarchive-c-5.1-6.fc42.noarch" is already installed. Package "python3-lz4-4.3.3-8.fc42.aarch64" is already installed. Package "python3-notebook-7.3.2-2.fc42.noarch" is already installed. Package "python3-numpy-1:2.2.3-1.fc43.aarch64" is already installed. Package "python3-packaging-24.2-3.fc42.noarch" is already installed. Package "python3-paramiko-3.5.1-1.fc42.noarch" is already installed. Package "python3-pip-24.3.1-2.fc42.noarch" is already installed. Package "python3-pyarrow-19.0.0-1.fc43.aarch64" is already installed. Package "python3-pygit2-1.17.0-2.fc42.aarch64" is already installed. Package "python3-pytest-8.3.4-2.fc42.noarch" is already installed. Package "python3-pytest-asyncio-0.24.0-2.fc42.noarch" is already installed. Package "python3-pytest-mock-3.14.0-3.fc42.noarch" is already installed. Package "python3-pytest-rerunfailures-15.0-2.fc42.noarch" is already installed. Package "python3-snappy-0.7.2-4.fc42.noarch" is already installed. Package "python3-requests-2.32.3-4.fc42.noarch" is already installed. Package "python3-smbprotocol-1.9.0-9.fc42.noarch" is already installed. Package "python3-tqdm-4.67.1-3.fc42.noarch" is already installed. Package "python3-zarr-2.18.4-2.fc42.noarch" is already installed. Package "python3-zstandard-0.23.0-2.fc42.aarch64" is already installed. Nothing to do. Building target platforms: aarch64 Building for target aarch64 setting SOURCE_DATE_EPOCH=1737158400 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.iikk2W + umask 022 + cd /builddir/build/BUILD/python-fsspec-2024.12.0-build + cd filesystem_spec-2024.12.0 + export SETUPTOOLS_SCM_PRETEND_VERSION=2024.12.0 + SETUPTOOLS_SCM_PRETEND_VERSION=2024.12.0 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/.pyproject-builddir + RPM_TOXENV=py313 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/pyproject-wheeldir --output /builddir/build/BUILD/python-fsspec-2024.12.0-build/python-fsspec-2024.12.0-2.fc43.aarch64-pyproject-buildrequires -x arrow,dask,gcs,gs,entrypoints,fuse,git,github,hdfs,http,libarchive,sftp,smb,ssh,tqdm Handling hatchling from build-system.requires Requirement satisfied: hatchling (installed: hatchling 1.27.0) Handling hatch-vcs from build-system.requires Requirement satisfied: hatch-vcs (installed: hatch-vcs 0.4.0) Handling adlfs; extra == 'abfs' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: adlfs; extra == 'abfs' Handling adlfs; extra == 'adl' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: adlfs; extra == 'adl' Handling pyarrow>=1; extra == 'arrow' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: pyarrow>=1; extra == 'arrow' (installed: pyarrow 19.0.0) Handling dask; extra == 'dask' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: dask; extra == 'dask' (installed: dask 2024.12.1) Handling distributed; extra == 'dask' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: distributed; extra == 'dask' (installed: distributed 2024.12.1) Handling pre-commit; extra == 'dev' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pre-commit; extra == 'dev' Handling ruff; extra == 'dev' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: ruff; extra == 'dev' Handling numpydoc; extra == 'doc' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: numpydoc; extra == 'doc' Handling sphinx; extra == 'doc' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: sphinx; extra == 'doc' Handling sphinx-design; extra == 'doc' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: sphinx-design; extra == 'doc' Handling sphinx-rtd-theme; extra == 'doc' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: sphinx-rtd-theme; extra == 'doc' Handling yarl; extra == 'doc' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: yarl; extra == 'doc' Handling dropbox; extra == 'dropbox' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dropbox; extra == 'dropbox' Handling dropboxdrivefs; extra == 'dropbox' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dropboxdrivefs; extra == 'dropbox' Handling requests; extra == 'dropbox' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: requests; extra == 'dropbox' Handling adlfs; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: adlfs; extra == 'full' Handling aiohttp!=4.0.0a0,!=4.0.0a1; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: aiohttp!=4.0.0a0,!=4.0.0a1; extra == 'full' Handling dask; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dask; extra == 'full' Handling distributed; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: distributed; extra == 'full' Handling dropbox; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dropbox; extra == 'full' Handling dropboxdrivefs; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dropboxdrivefs; extra == 'full' Handling fusepy; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: fusepy; extra == 'full' Handling gcsfs; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: gcsfs; extra == 'full' Handling libarchive-c; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: libarchive-c; extra == 'full' Handling ocifs; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: ocifs; extra == 'full' Handling panel; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: panel; extra == 'full' Handling paramiko; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: paramiko; extra == 'full' Handling pyarrow>=1; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pyarrow>=1; extra == 'full' Handling pygit2; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pygit2; extra == 'full' Handling requests; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: requests; extra == 'full' Handling s3fs; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: s3fs; extra == 'full' Handling smbprotocol; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: smbprotocol; extra == 'full' Handling tqdm; extra == 'full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: tqdm; extra == 'full' Handling fusepy; extra == 'fuse' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: fusepy; extra == 'fuse' (installed: fusepy 3.0.1) Handling gcsfs; extra == 'gcs' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: gcsfs; extra == 'gcs' (installed: gcsfs 2024.9.0) Handling pygit2; extra == 'git' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: pygit2; extra == 'git' (installed: pygit2 1.17.0) Handling requests; extra == 'github' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: requests; extra == 'github' (installed: requests 2.32.3) Handling gcsfs; extra == 'gs' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: gcsfs; extra == 'gs' (installed: gcsfs 2024.9.0) Handling panel; extra == 'gui' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: panel; extra == 'gui' Handling pyarrow>=1; extra == 'hdfs' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: pyarrow>=1; extra == 'hdfs' (installed: pyarrow 19.0.0) Handling aiohttp!=4.0.0a0,!=4.0.0a1; extra == 'http' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: aiohttp!=4.0.0a0,!=4.0.0a1; extra == 'http' (installed: aiohttp 3.10.11) Handling libarchive-c; extra == 'libarchive' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: libarchive-c; extra == 'libarchive' (installed: libarchive-c 5.1) Handling ocifs; extra == 'oci' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: ocifs; extra == 'oci' Handling s3fs; extra == 's3' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: s3fs; extra == 's3' Handling paramiko; extra == 'sftp' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: paramiko; extra == 'sftp' (installed: paramiko 3.5.1) Handling smbprotocol; extra == 'smb' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: smbprotocol; extra == 'smb' (installed: smbprotocol 1.9.0) Handling paramiko; extra == 'ssh' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: paramiko; extra == 'ssh' (installed: paramiko 3.5.1) Handling aiohttp!=4.0.0a0,!=4.0.0a1; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: aiohttp!=4.0.0a0,!=4.0.0a1; extra == 'test' Handling numpy; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: numpy; extra == 'test' Handling pytest; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest; extra == 'test' Handling pytest-asyncio!=0.22.0; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-asyncio!=0.22.0; extra == 'test' Handling pytest-benchmark; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-benchmark; extra == 'test' Handling pytest-cov; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-cov; extra == 'test' Handling pytest-mock; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-mock; extra == 'test' Handling pytest-recording; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-recording; extra == 'test' Handling pytest-rerunfailures; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-rerunfailures; extra == 'test' Handling requests; extra == 'test' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: requests; extra == 'test' Handling aiobotocore<3.0.0,>=2.5.4; extra == 'test-downstream' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: aiobotocore<3.0.0,>=2.5.4; extra == 'test-downstream' Handling dask-expr; extra == 'test-downstream' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dask-expr; extra == 'test-downstream' Handling dask[dataframe,test]; extra == 'test-downstream' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dask[dataframe,test]; extra == 'test-downstream' Handling moto[server]<5,>4; extra == 'test-downstream' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: moto[server]<5,>4; extra == 'test-downstream' Handling pytest-timeout; extra == 'test-downstream' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-timeout; extra == 'test-downstream' Handling xarray; extra == 'test-downstream' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: xarray; extra == 'test-downstream' Handling adlfs; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: adlfs; extra == 'test-full' Handling aiohttp!=4.0.0a0,!=4.0.0a1; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: aiohttp!=4.0.0a0,!=4.0.0a1; extra == 'test-full' Handling cloudpickle; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: cloudpickle; extra == 'test-full' Handling dask; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dask; extra == 'test-full' Handling distributed; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: distributed; extra == 'test-full' Handling dropbox; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dropbox; extra == 'test-full' Handling dropboxdrivefs; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: dropboxdrivefs; extra == 'test-full' Handling fastparquet; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: fastparquet; extra == 'test-full' Handling fusepy; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: fusepy; extra == 'test-full' Handling gcsfs; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: gcsfs; extra == 'test-full' Handling jinja2; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: jinja2; extra == 'test-full' Handling kerchunk; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: kerchunk; extra == 'test-full' Handling libarchive-c; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: libarchive-c; extra == 'test-full' Handling lz4; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: lz4; extra == 'test-full' Handling notebook; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: notebook; extra == 'test-full' Handling numpy; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: numpy; extra == 'test-full' Handling ocifs; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: ocifs; extra == 'test-full' Handling pandas; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pandas; extra == 'test-full' Handling panel; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: panel; extra == 'test-full' Handling paramiko; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: paramiko; extra == 'test-full' Handling pyarrow; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pyarrow; extra == 'test-full' Handling pyarrow>=1; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pyarrow>=1; extra == 'test-full' Handling pyftpdlib; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pyftpdlib; extra == 'test-full' Handling pygit2; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pygit2; extra == 'test-full' Handling pytest; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest; extra == 'test-full' Handling pytest-asyncio!=0.22.0; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-asyncio!=0.22.0; extra == 'test-full' Handling pytest-benchmark; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-benchmark; extra == 'test-full' Handling pytest-cov; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-cov; extra == 'test-full' Handling pytest-mock; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-mock; extra == 'test-full' Handling pytest-recording; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-recording; extra == 'test-full' Handling pytest-rerunfailures; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: pytest-rerunfailures; extra == 'test-full' Handling python-snappy; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: python-snappy; extra == 'test-full' Handling requests; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: requests; extra == 'test-full' Handling smbprotocol; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: smbprotocol; extra == 'test-full' Handling tqdm; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: tqdm; extra == 'test-full' Handling urllib3; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: urllib3; extra == 'test-full' Handling zarr; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: zarr; extra == 'test-full' Handling zstandard; extra == 'test-full' from hook generated metadata: Requires-Dist (fsspec) Ignoring alien requirement: zstandard; extra == 'test-full' Handling tqdm; extra == 'tqdm' from hook generated metadata: Requires-Dist (fsspec) Requirement satisfied: tqdm; extra == 'tqdm' (installed: tqdm 4.67.1) + cat /builddir/build/BUILD/python-fsspec-2024.12.0-build/python-fsspec-2024.12.0-2.fc43.aarch64-pyproject-buildrequires + rm -rfv fsspec-2024.12.0.dist-info/ removed 'fsspec-2024.12.0.dist-info/METADATA' removed directory 'fsspec-2024.12.0.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.8JPky4 + umask 022 + cd /builddir/build/BUILD/python-fsspec-2024.12.0-build + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd filesystem_spec-2024.12.0 + export SETUPTOOLS_SCM_PRETEND_VERSION=2024.12.0 + SETUPTOOLS_SCM_PRETEND_VERSION=2024.12.0 + mkdir -p /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/.pyproject-builddir + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/.pyproject-builddir + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_wheel.py /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/pyproject-wheeldir Processing /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0 Preparing metadata (pyproject.toml): started Running command Preparing metadata (pyproject.toml) Preparing metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: fsspec Building wheel for fsspec (pyproject.toml): started Running command Building wheel for fsspec (pyproject.toml) Building wheel for fsspec (pyproject.toml): finished with status 'done' Created wheel for fsspec: filename=fsspec-2024.12.0-py3-none-any.whl size=183097 sha256=dba262d3426dc6155e770c9e9e5228f8d65e0f220da330d74f759f7d645909c6 Stored in directory: /builddir/.cache/pip/wheels/af/8f/a2/20dd954420b8a02681bc7b1f9cf1889ea01602b31a02be40a0 Successfully built fsspec + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.98RWOP + umask 022 + cd /builddir/build/BUILD/python-fsspec-2024.12.0-build + '[' /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT '!=' / ']' + rm -rf /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT ++ dirname /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT + mkdir -p /builddir/build/BUILD/python-fsspec-2024.12.0-build + mkdir /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd filesystem_spec-2024.12.0 ++ ls /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/pyproject-wheeldir/fsspec-2024.12.0-py3-none-any.whl ++ xargs basename --multiple ++ sed -E 's/([^-]+)-([^-]+)-.+\.whl/\1==\2/' + specifier=fsspec==2024.12.0 + '[' -z fsspec==2024.12.0 ']' + TMPDIR=/builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/.pyproject-builddir + /usr/bin/python3 -m pip install --root /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT --prefix /usr --no-deps --disable-pip-version-check --progress-bar off --verbose --ignore-installed --no-warn-script-location --no-index --no-cache-dir --find-links /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/pyproject-wheeldir fsspec==2024.12.0 Using pip 24.3.1 from /usr/lib/python3.13/site-packages/pip (python 3.13) Looking in links: /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/pyproject-wheeldir Processing ./pyproject-wheeldir/fsspec-2024.12.0-py3-none-any.whl Installing collected packages: fsspec Successfully installed fsspec-2024.12.0 + '[' -d /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/bin ']' + rm -f /builddir/build/BUILD/python-fsspec-2024.12.0-build/python-fsspec-2024.12.0-2.fc43.aarch64-pyproject-ghost-distinfo + site_dirs=() + '[' -d /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages ']' + site_dirs+=("/usr/lib/python3.13/site-packages") + '[' /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib64/python3.13/site-packages '!=' /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages ']' + '[' -d /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib64/python3.13/site-packages ']' + for site_dir in ${site_dirs[@]} + for distinfo in /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT$site_dir/*.dist-info + echo '%ghost /usr/lib/python3.13/site-packages/fsspec-2024.12.0.dist-info' + sed -i s/pip/rpm/ /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec-2024.12.0.dist-info/INSTALLER + PYTHONPATH=/usr/lib/rpm/redhat + /usr/bin/python3 -B /usr/lib/rpm/redhat/pyproject_preprocess_record.py --buildroot /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT --record /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec-2024.12.0.dist-info/RECORD --output /builddir/build/BUILD/python-fsspec-2024.12.0-build/python-fsspec-2024.12.0-2.fc43.aarch64-pyproject-record + rm -fv /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec-2024.12.0.dist-info/RECORD removed '/builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec-2024.12.0.dist-info/RECORD' + rm -fv /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec-2024.12.0.dist-info/REQUESTED removed '/builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec-2024.12.0.dist-info/REQUESTED' ++ wc -l /builddir/build/BUILD/python-fsspec-2024.12.0-build/python-fsspec-2024.12.0-2.fc43.aarch64-pyproject-ghost-distinfo ++ cut -f1 '-d ' + lines=1 + '[' 1 -ne 1 ']' + RPM_FILES_ESCAPE=4.19 + /usr/bin/python3 /usr/lib/rpm/redhat/pyproject_save_files.py --output-files /builddir/build/BUILD/python-fsspec-2024.12.0-build/python-fsspec-2024.12.0-2.fc43.aarch64-pyproject-files --output-modules /builddir/build/BUILD/python-fsspec-2024.12.0-build/python-fsspec-2024.12.0-2.fc43.aarch64-pyproject-modules --buildroot /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT --sitelib /usr/lib/python3.13/site-packages --sitearch /usr/lib64/python3.13/site-packages --python-version 3.13 --pyproject-record /builddir/build/BUILD/python-fsspec-2024.12.0-build/python-fsspec-2024.12.0-2.fc43.aarch64-pyproject-record --prefix /usr -l fsspec + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/brp-strip /usr/bin/strip + /usr/lib/rpm/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/redhat/brp-mangle-shebangs + /usr/lib/rpm/brp-remove-la-files + env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j4 Bytecompiling .py files below /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13 using python3.13 + /usr/lib/rpm/redhat/brp-python-hardlink + /usr/bin/add-determinism --brp -j4 /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/implementations/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/implementations/__pycache__/asyn_wrapper.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/implementations/__pycache__/cache_mapper.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/implementations/__pycache__/cache_metadata.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/implementations/__pycache__/data.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/implementations/__pycache__/arrow.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/implementations/__pycache__/dask.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/implementations/__pycache__/dbfs.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/implementations/__pycache__/git.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/implementations/__pycache__/dirfs.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/implementations/__pycache__/ftp.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/implementations/__pycache__/github.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/implementations/__pycache__/jupyter.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/implementations/__pycache__/libarchive.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/implementations/__pycache__/cached.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/implementations/__pycache__/memory.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/implementations/__pycache__/local.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/implementations/__pycache__/sftp.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/implementations/__pycache__/tar.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/implementations/__pycache__/http.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/implementations/__pycache__/smb.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/implementations/__pycache__/zip.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/implementations/__pycache__/webhdfs.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/implementations/__pycache__/dbfs.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/implementations/__pycache__/dirfs.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/tests/abstract/__pycache__/common.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/implementations/__pycache__/reference.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/tests/abstract/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/tests/abstract/__pycache__/mv.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/tests/abstract/__pycache__/copy.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/tests/abstract/__pycache__/open.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/tests/abstract/__pycache__/pipe.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/tests/abstract/__pycache__/mv.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/tests/abstract/__pycache__/get.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/tests/abstract/__pycache__/open.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/tests/abstract/__pycache__/pipe.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/tests/abstract/__pycache__/put.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/tests/abstract/__pycache__/copy.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/__pycache__/_version.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/tests/abstract/__pycache__/get.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/tests/abstract/__pycache__/put.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/__pycache__/archive.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/__pycache__/callbacks.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/__pycache__/compression.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/__pycache__/config.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/__pycache__/conftest.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/__pycache__/asyn.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/__pycache__/caching.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/implementations/__pycache__/reference.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/__pycache__/dircache.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/__pycache__/exceptions.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/__pycache__/core.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/__pycache__/generic.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/__pycache__/fuse.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/__pycache__/json.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/__pycache__/registry.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/__pycache__/gui.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/__pycache__/mapping.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/__pycache__/parquet.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/__pycache__/transaction.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/__pycache__/core.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/__pycache__/utils.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/__pycache__/registry.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/__pycache__/utils.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/__pycache__/caching.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/__pycache__/asyn.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages/fsspec/__pycache__/spec.cpython-313.pyc: rewriting with normalized contents Scanned 14 directories and 166 files, processed 68 inodes, 68 modified (28 replaced + 40 rewritten), 0 unsupported format, 0 errors Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.41zs8w + umask 022 + cd /builddir/build/BUILD/python-fsspec-2024.12.0-build + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd filesystem_spec-2024.12.0 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + PATH=/builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin + PYTHONPATH=/builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib64/python3.13/site-packages:/builddir/build/BUILD/python-fsspec-2024.12.0-build/BUILDROOT/usr/lib/python3.13/site-packages + PYTHONDONTWRITEBYTECODE=1 + PYTEST_ADDOPTS=' --ignore=/builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/.pyproject-builddir' + PYTEST_XDIST_AUTO_NUM_WORKERS=4 + /usr/bin/pytest -vra --deselect=fsspec/tests/test_fuse.py::test_basic --deselect=fsspec/tests/test_fuse.py::test_chmod --deselect=fsspec/tests/test_fuse.py::test_seek_rw --deselect=fsspec/implementations/tests/test_reference.py::test_async_cat_file_ranges /usr/lib/python3.13/site-packages/pytest_asyncio/plugin.py:208: PytestDeprecationWarning: The configuration option "asyncio_default_fixture_loop_scope" is unset. The event loop scope for asynchronous fixtures will default to the fixture caching scope. Future versions of pytest-asyncio will default the loop scope for asynchronous fixtures to function scope. Set the default fixture loop scope explicitly in order to avoid unexpected behavior in the future. Valid fixture loop scopes are: "function", "class", "module", "package", "session" warnings.warn(PytestDeprecationWarning(_DEFAULT_FIXTURE_LOOP_SCOPE_UNSET)) ============================= test session starts ============================== platform linux -- Python 3.13.2, pytest-8.3.4, pluggy-1.5.0 -- /usr/bin/python3 cachedir: .pytest_cache rootdir: /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0 configfile: pyproject.toml plugins: anyio-4.8.0, asyncio-0.24.0, mock-3.14.0, rerunfailures-15.0 asyncio: mode=Mode.STRICT, default_loop_scope=None collecting ... collected 1822 items / 4 deselected / 3 skipped / 1818 selected fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_file_to_existing_directory PASSED [ 0%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_file_to_new_directory PASSED [ 0%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_file_to_file_in_existing_directory PASSED [ 0%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_file_to_file_in_new_directory PASSED [ 0%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_directory_to_existing_directory PASSED [ 0%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_directory_to_new_directory PASSED [ 0%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_to_existing_directory PASSED [ 0%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_to_new_directory PASSED [ 0%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[fil?1-False-None-expected0] PASSED [ 0%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[fil?1-True-None-expected1] PASSED [ 0%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[file[1-2]-False-None-expected2] PASSED [ 0%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[file[1-2]-True-None-expected3] PASSED [ 0%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[*-False-None-expected4] PASSED [ 0%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[*-True-None-expected5] PASSED [ 0%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[*-True-1-expected6] PASSED [ 0%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[*-True-2-expected7] PASSED [ 0%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[*1-False-None-expected8] PASSED [ 0%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[*1-True-None-expected9] PASSED [ 0%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[*1-True-2-expected10] PASSED [ 1%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[**-False-None-expected11] PASSED [ 1%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[**-True-None-expected12] PASSED [ 1%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[**-True-1-expected13] PASSED [ 1%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[**-True-2-expected14] PASSED [ 1%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[**-False-2-expected15] PASSED [ 1%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[**/*1-False-None-expected16] PASSED [ 1%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[**/*1-True-None-expected17] PASSED [ 1%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[**/*1-True-1-expected18] PASSED [ 1%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[**/*1-True-2-expected19] PASSED [ 1%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[**/*1-False-2-expected20] PASSED [ 1%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[**/subdir0-False-None-expected21] PASSED [ 1%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[**/subdir0-True-None-expected22] PASSED [ 1%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[**/subdir0/nested*-False-2-expected23] PASSED [ 1%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[**/subdir0/nested*-True-2-expected24] PASSED [ 1%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[subdir[1-2]-False-None-expected25] PASSED [ 1%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[subdir[1-2]-True-None-expected26] PASSED [ 1%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[subdir[1-2]-True-2-expected27] PASSED [ 1%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[subdir[0-1]-False-None-expected28] PASSED [ 2%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[subdir[0-1]-True-None-expected29] PASSED [ 2%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[subdir[0-1]/*fil[e]*-False-None-expected30] PASSED [ 2%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_glob_edge_cases[subdir[0-1]/*fil[e]*-True-None-expected31] PASSED [ 2%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_list_of_files_to_existing_directory PASSED [ 2%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_list_of_files_to_new_directory PASSED [ 2%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_two_files_new_directory PASSED [ 2%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_directory_without_files_with_same_name_prefix PASSED [ 2%] fsspec/implementations/tests/local/local_test.py::TestLocalCopy::test_copy_with_source_and_destination_as_list PASSED [ 2%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_file_to_existing_directory PASSED [ 2%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_file_to_new_directory PASSED [ 2%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_file_to_file_in_existing_directory PASSED [ 2%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_file_to_file_in_new_directory PASSED [ 2%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_directory_to_existing_directory PASSED [ 2%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_directory_to_new_directory PASSED [ 2%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_to_existing_directory PASSED [ 2%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_to_new_directory PASSED [ 2%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[fil?1-False-None-expected0] PASSED [ 2%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[fil?1-True-None-expected1] PASSED [ 3%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[file[1-2]-False-None-expected2] PASSED [ 3%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[file[1-2]-True-None-expected3] PASSED [ 3%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[*-False-None-expected4] PASSED [ 3%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[*-True-None-expected5] PASSED [ 3%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[*-True-1-expected6] PASSED [ 3%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[*-True-2-expected7] PASSED [ 3%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[*1-False-None-expected8] PASSED [ 3%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[*1-True-None-expected9] PASSED [ 3%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[*1-True-2-expected10] PASSED [ 3%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[**-False-None-expected11] PASSED [ 3%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[**-True-None-expected12] PASSED [ 3%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[**-True-1-expected13] PASSED [ 3%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[**-True-2-expected14] PASSED [ 3%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[**-False-2-expected15] PASSED [ 3%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[**/*1-False-None-expected16] PASSED [ 3%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[**/*1-True-None-expected17] PASSED [ 3%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[**/*1-True-1-expected18] PASSED [ 3%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[**/*1-True-2-expected19] PASSED [ 4%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[**/*1-False-2-expected20] PASSED [ 4%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[**/subdir0-False-None-expected21] PASSED [ 4%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[**/subdir0-True-None-expected22] PASSED [ 4%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[**/subdir0/nested*-False-2-expected23] PASSED [ 4%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[**/subdir0/nested*-True-2-expected24] PASSED [ 4%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[subdir[1-2]-False-None-expected25] PASSED [ 4%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[subdir[1-2]-True-None-expected26] PASSED [ 4%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[subdir[1-2]-True-2-expected27] PASSED [ 4%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[subdir[0-1]-False-None-expected28] PASSED [ 4%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[subdir[0-1]-True-None-expected29] PASSED [ 4%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[subdir[0-1]/*fil[e]*-False-None-expected30] PASSED [ 4%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_glob_edge_cases[subdir[0-1]/*fil[e]*-True-None-expected31] PASSED [ 4%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_list_of_files_to_existing_directory PASSED [ 4%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_list_of_files_to_new_directory PASSED [ 4%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_directory_recursive PASSED [ 4%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_directory_without_files_with_same_name_prefix PASSED [ 4%] fsspec/implementations/tests/local/local_test.py::TestLocalGet::test_get_with_source_and_destination_as_list PASSED [ 4%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_file_to_existing_directory PASSED [ 5%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_file_to_new_directory PASSED [ 5%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_file_to_file_in_existing_directory PASSED [ 5%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_file_to_file_in_new_directory PASSED [ 5%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_directory_to_existing_directory PASSED [ 5%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_directory_to_new_directory PASSED [ 5%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_to_existing_directory PASSED [ 5%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_to_new_directory PASSED [ 5%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[fil?1-False-None-expected0] PASSED [ 5%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[fil?1-True-None-expected1] PASSED [ 5%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[file[1-2]-False-None-expected2] PASSED [ 5%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[file[1-2]-True-None-expected3] PASSED [ 5%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[*-False-None-expected4] PASSED [ 5%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[*-True-None-expected5] PASSED [ 5%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[*-True-1-expected6] PASSED [ 5%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[*-True-2-expected7] PASSED [ 5%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[*1-False-None-expected8] PASSED [ 5%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[*1-True-None-expected9] PASSED [ 5%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[*1-True-2-expected10] PASSED [ 5%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[**-False-None-expected11] PASSED [ 6%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[**-True-None-expected12] PASSED [ 6%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[**-True-1-expected13] PASSED [ 6%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[**-True-2-expected14] PASSED [ 6%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[**-False-2-expected15] PASSED [ 6%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[**/*1-False-None-expected16] PASSED [ 6%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[**/*1-True-None-expected17] PASSED [ 6%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[**/*1-True-1-expected18] PASSED [ 6%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[**/*1-True-2-expected19] PASSED [ 6%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[**/*1-False-2-expected20] PASSED [ 6%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[**/subdir0-False-None-expected21] PASSED [ 6%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[**/subdir0-True-None-expected22] PASSED [ 6%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[**/subdir0/nested*-False-2-expected23] PASSED [ 6%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[**/subdir0/nested*-True-2-expected24] PASSED [ 6%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[subdir[1-2]-False-None-expected25] PASSED [ 6%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[subdir[1-2]-True-None-expected26] PASSED [ 6%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[subdir[1-2]-True-2-expected27] PASSED [ 6%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[subdir[0-1]-False-None-expected28] PASSED [ 6%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[subdir[0-1]-True-None-expected29] PASSED [ 7%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[subdir[0-1]/*fil[e]*-False-None-expected30] PASSED [ 7%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_glob_edge_cases[subdir[0-1]/*fil[e]*-True-None-expected31] PASSED [ 7%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_list_of_files_to_existing_directory PASSED [ 7%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_list_of_files_to_new_directory PASSED [ 7%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_directory_recursive PASSED [ 7%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_put_directory_without_files_with_same_name_prefix PASSED [ 7%] fsspec/implementations/tests/local/local_test.py::TestLocalPut::test_copy_with_source_and_destination_as_list PASSED [ 7%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_file_to_existing_directory PASSED [ 7%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_file_to_new_directory PASSED [ 7%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_file_to_file_in_existing_directory PASSED [ 7%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_file_to_file_in_new_directory PASSED [ 7%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_directory_to_existing_directory PASSED [ 7%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_directory_to_new_directory PASSED [ 7%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_to_existing_directory PASSED [ 7%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_to_new_directory PASSED [ 7%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[fil?1-False-None-expected0] PASSED [ 7%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[fil?1-True-None-expected1] PASSED [ 7%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[file[1-2]-False-None-expected2] PASSED [ 8%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[file[1-2]-True-None-expected3] PASSED [ 8%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[*-False-None-expected4] PASSED [ 8%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[*-True-None-expected5] PASSED [ 8%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[*-True-1-expected6] PASSED [ 8%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[*-True-2-expected7] PASSED [ 8%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[*1-False-None-expected8] PASSED [ 8%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[*1-True-None-expected9] PASSED [ 8%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[*1-True-2-expected10] PASSED [ 8%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[**-False-None-expected11] PASSED [ 8%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[**-True-None-expected12] PASSED [ 8%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[**-True-1-expected13] PASSED [ 8%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[**-True-2-expected14] PASSED [ 8%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[**-False-2-expected15] PASSED [ 8%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[**/*1-False-None-expected16] PASSED [ 8%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[**/*1-True-None-expected17] PASSED [ 8%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[**/*1-True-1-expected18] PASSED [ 8%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[**/*1-True-2-expected19] PASSED [ 8%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[**/*1-False-2-expected20] PASSED [ 9%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[**/subdir0-False-None-expected21] PASSED [ 9%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[**/subdir0-True-None-expected22] PASSED [ 9%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[**/subdir0/nested*-False-2-expected23] PASSED [ 9%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[**/subdir0/nested*-True-2-expected24] PASSED [ 9%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[subdir[1-2]-False-None-expected25] PASSED [ 9%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[subdir[1-2]-True-None-expected26] PASSED [ 9%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[subdir[1-2]-True-2-expected27] PASSED [ 9%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[subdir[0-1]-False-None-expected28] PASSED [ 9%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[subdir[0-1]-True-None-expected29] PASSED [ 9%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[subdir[0-1]/*fil[e]*-False-None-expected30] PASSED [ 9%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_glob_edge_cases[subdir[0-1]/*fil[e]*-True-None-expected31] PASSED [ 9%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_list_of_files_to_existing_directory PASSED [ 9%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_list_of_files_to_new_directory PASSED [ 9%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_two_files_new_directory PASSED [ 9%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_directory_without_files_with_same_name_prefix PASSED [ 9%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryCopy::test_copy_with_source_and_destination_as_list PASSED [ 9%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_file_to_existing_directory PASSED [ 9%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_file_to_new_directory PASSED [ 10%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_file_to_file_in_existing_directory PASSED [ 10%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_file_to_file_in_new_directory PASSED [ 10%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_directory_to_existing_directory PASSED [ 10%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_directory_to_new_directory PASSED [ 10%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_to_existing_directory PASSED [ 10%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_to_new_directory PASSED [ 10%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[fil?1-False-None-expected0] PASSED [ 10%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[fil?1-True-None-expected1] PASSED [ 10%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[file[1-2]-False-None-expected2] PASSED [ 10%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[file[1-2]-True-None-expected3] PASSED [ 10%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[*-False-None-expected4] PASSED [ 10%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[*-True-None-expected5] PASSED [ 10%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[*-True-1-expected6] PASSED [ 10%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[*-True-2-expected7] PASSED [ 10%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[*1-False-None-expected8] PASSED [ 10%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[*1-True-None-expected9] PASSED [ 10%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[*1-True-2-expected10] PASSED [ 10%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[**-False-None-expected11] PASSED [ 11%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[**-True-None-expected12] PASSED [ 11%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[**-True-1-expected13] PASSED [ 11%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[**-True-2-expected14] PASSED [ 11%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[**-False-2-expected15] PASSED [ 11%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[**/*1-False-None-expected16] PASSED [ 11%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[**/*1-True-None-expected17] PASSED [ 11%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[**/*1-True-1-expected18] PASSED [ 11%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[**/*1-True-2-expected19] PASSED [ 11%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[**/*1-False-2-expected20] PASSED [ 11%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[**/subdir0-False-None-expected21] PASSED [ 11%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[**/subdir0-True-None-expected22] PASSED [ 11%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[**/subdir0/nested*-False-2-expected23] PASSED [ 11%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[**/subdir0/nested*-True-2-expected24] PASSED [ 11%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[subdir[1-2]-False-None-expected25] PASSED [ 11%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[subdir[1-2]-True-None-expected26] PASSED [ 11%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[subdir[1-2]-True-2-expected27] PASSED [ 11%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[subdir[0-1]-False-None-expected28] PASSED [ 11%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[subdir[0-1]-True-None-expected29] PASSED [ 11%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[subdir[0-1]/*fil[e]*-False-None-expected30] PASSED [ 12%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_glob_edge_cases[subdir[0-1]/*fil[e]*-True-None-expected31] PASSED [ 12%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_list_of_files_to_existing_directory PASSED [ 12%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_list_of_files_to_new_directory PASSED [ 12%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_directory_recursive PASSED [ 12%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_directory_without_files_with_same_name_prefix PASSED [ 12%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryGet::test_get_with_source_and_destination_as_list PASSED [ 12%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_file_to_existing_directory PASSED [ 12%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_file_to_new_directory PASSED [ 12%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_file_to_file_in_existing_directory PASSED [ 12%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_file_to_file_in_new_directory PASSED [ 12%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_directory_to_existing_directory PASSED [ 12%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_directory_to_new_directory PASSED [ 12%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_to_existing_directory PASSED [ 12%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_to_new_directory PASSED [ 12%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[fil?1-False-None-expected0] PASSED [ 12%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[fil?1-True-None-expected1] PASSED [ 12%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[file[1-2]-False-None-expected2] PASSED [ 12%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[file[1-2]-True-None-expected3] PASSED [ 13%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[*-False-None-expected4] PASSED [ 13%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[*-True-None-expected5] PASSED [ 13%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[*-True-1-expected6] PASSED [ 13%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[*-True-2-expected7] PASSED [ 13%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[*1-False-None-expected8] PASSED [ 13%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[*1-True-None-expected9] PASSED [ 13%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[*1-True-2-expected10] PASSED [ 13%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[**-False-None-expected11] PASSED [ 13%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[**-True-None-expected12] PASSED [ 13%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[**-True-1-expected13] PASSED [ 13%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[**-True-2-expected14] PASSED [ 13%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[**-False-2-expected15] PASSED [ 13%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[**/*1-False-None-expected16] PASSED [ 13%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[**/*1-True-None-expected17] PASSED [ 13%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[**/*1-True-1-expected18] PASSED [ 13%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[**/*1-True-2-expected19] PASSED [ 13%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[**/*1-False-2-expected20] PASSED [ 13%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[**/subdir0-False-None-expected21] PASSED [ 14%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[**/subdir0-True-None-expected22] PASSED [ 14%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[**/subdir0/nested*-False-2-expected23] PASSED [ 14%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[**/subdir0/nested*-True-2-expected24] PASSED [ 14%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[subdir[1-2]-False-None-expected25] PASSED [ 14%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[subdir[1-2]-True-None-expected26] PASSED [ 14%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[subdir[1-2]-True-2-expected27] PASSED [ 14%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[subdir[0-1]-False-None-expected28] PASSED [ 14%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[subdir[0-1]-True-None-expected29] PASSED [ 14%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[subdir[0-1]/*fil[e]*-False-None-expected30] PASSED [ 14%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_glob_edge_cases[subdir[0-1]/*fil[e]*-True-None-expected31] PASSED [ 14%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_list_of_files_to_existing_directory PASSED [ 14%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_list_of_files_to_new_directory PASSED [ 14%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_directory_recursive PASSED [ 14%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_put_directory_without_files_with_same_name_prefix PASSED [ 14%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPut::test_copy_with_source_and_destination_as_list PASSED [ 14%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryPipe::test_pipe_exclusive PASSED [ 14%] fsspec/implementations/tests/memory/memory_test.py::TestMemoryOpen::test_open_exclusive PASSED [ 14%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_repr[zip] PASSED [ 15%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_empty[zip] PASSED [ 15%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_glob[zip] PASSED [ 15%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_mapping[zip] PASSED [ 15%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_pickle[zip] PASSED [ 15%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_all_dirnames[zip] PASSED [ 15%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_ls[zip] PASSED [ 15%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_find[zip] PASSED [ 15%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_walk[zip-True-True] PASSED [ 15%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_walk[zip-True-False] PASSED [ 15%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_walk[zip-False-True] PASSED [ 15%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_walk[zip-False-False] PASSED [ 15%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_info[zip] PASSED [ 15%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_isdir_isfile[zip-128] PASSED [ 15%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_isdir_isfile[zip-512] PASSED [ 15%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_isdir_isfile[zip-4096] PASSED [ 15%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_read_empty_file[zip] PASSED [ 15%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_repr[tar] PASSED [ 15%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_empty[tar] PASSED [ 16%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_glob[tar] PASSED [ 16%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_mapping[tar] PASSED [ 16%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_pickle[tar] PASSED [ 16%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_all_dirnames[tar] PASSED [ 16%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_ls[tar] PASSED [ 16%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_find[tar] PASSED [ 16%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_walk[tar-True-True] PASSED [ 16%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_walk[tar-True-False] PASSED [ 16%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_walk[tar-False-True] PASSED [ 16%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_walk[tar-False-False] PASSED [ 16%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_info[tar] PASSED [ 16%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_isdir_isfile[tar-128] PASSED [ 16%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_isdir_isfile[tar-512] PASSED [ 16%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_isdir_isfile[tar-4096] PASSED [ 16%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_read_empty_file[tar] PASSED [ 16%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_repr[tar-gz] PASSED [ 16%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_empty[tar-gz] PASSED [ 16%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_glob[tar-gz] PASSED [ 16%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_mapping[tar-gz] PASSED [ 17%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_pickle[tar-gz] PASSED [ 17%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_all_dirnames[tar-gz] PASSED [ 17%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_ls[tar-gz] PASSED [ 17%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_find[tar-gz] PASSED [ 17%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_walk[tar-gz-True-True] PASSED [ 17%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_walk[tar-gz-True-False] PASSED [ 17%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_walk[tar-gz-False-True] PASSED [ 17%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_walk[tar-gz-False-False] PASSED [ 17%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_info[tar-gz] PASSED [ 17%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_isdir_isfile[tar-gz-128] PASSED [ 17%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_isdir_isfile[tar-gz-512] PASSED [ 17%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_isdir_isfile[tar-gz-4096] PASSED [ 17%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_read_empty_file[tar-gz] PASSED [ 17%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_repr[tar-bz2] PASSED [ 17%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_empty[tar-bz2] PASSED [ 17%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_glob[tar-bz2] PASSED [ 17%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_mapping[tar-bz2] PASSED [ 17%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_pickle[tar-bz2] PASSED [ 18%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_all_dirnames[tar-bz2] PASSED [ 18%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_ls[tar-bz2] PASSED [ 18%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_find[tar-bz2] PASSED [ 18%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_walk[tar-bz2-True-True] PASSED [ 18%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_walk[tar-bz2-True-False] PASSED [ 18%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_walk[tar-bz2-False-True] PASSED [ 18%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_walk[tar-bz2-False-False] PASSED [ 18%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_info[tar-bz2] PASSED [ 18%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_isdir_isfile[tar-bz2-128] PASSED [ 18%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_isdir_isfile[tar-bz2-512] PASSED [ 18%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_isdir_isfile[tar-bz2-4096] PASSED [ 18%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_read_empty_file[tar-bz2] PASSED [ 18%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_repr[tar-xz] PASSED [ 18%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_empty[tar-xz] PASSED [ 18%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_glob[tar-xz] PASSED [ 18%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_mapping[tar-xz] PASSED [ 18%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_pickle[tar-xz] PASSED [ 18%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_all_dirnames[tar-xz] PASSED [ 19%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_ls[tar-xz] PASSED [ 19%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_find[tar-xz] PASSED [ 19%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_walk[tar-xz-True-True] PASSED [ 19%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_walk[tar-xz-True-False] PASSED [ 19%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_walk[tar-xz-False-True] PASSED [ 19%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_walk[tar-xz-False-False] PASSED [ 19%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_info[tar-xz] PASSED [ 19%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_isdir_isfile[tar-xz-128] PASSED [ 19%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_isdir_isfile[tar-xz-512] PASSED [ 19%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_isdir_isfile[tar-xz-4096] PASSED [ 19%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_read_empty_file[tar-xz] PASSED [ 19%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_repr[libarchive] PASSED [ 19%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_empty[libarchive] PASSED [ 19%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_glob[libarchive] PASSED [ 19%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_mapping[libarchive] PASSED [ 19%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_pickle[libarchive] PASSED [ 19%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_all_dirnames[libarchive] PASSED [ 19%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_ls[libarchive] PASSED [ 20%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_find[libarchive] PASSED [ 20%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_walk[libarchive-True-True] PASSED [ 20%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_walk[libarchive-True-False] PASSED [ 20%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_walk[libarchive-False-True] PASSED [ 20%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_walk[libarchive-False-False] PASSED [ 20%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_info[libarchive] PASSED [ 20%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_isdir_isfile[libarchive-128] PASSED [ 20%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_isdir_isfile[libarchive-512] PASSED [ 20%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_isdir_isfile[libarchive-4096] PASSED [ 20%] fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_read_empty_file[libarchive] PASSED [ 20%] fsspec/implementations/tests/test_arrow.py::test_protocol PASSED [ 20%] fsspec/implementations/tests/test_arrow.py::test_strip PASSED [ 20%] fsspec/implementations/tests/test_arrow.py::test_info[False] PASSED [ 20%] fsspec/implementations/tests/test_arrow.py::test_info[True] PASSED [ 20%] fsspec/implementations/tests/test_arrow.py::test_move[False] PASSED [ 20%] fsspec/implementations/tests/test_arrow.py::test_move[True] PASSED [ 20%] fsspec/implementations/tests/test_arrow.py::test_move_recursive[False] PASSED [ 20%] fsspec/implementations/tests/test_arrow.py::test_move_recursive[True] PASSED [ 21%] fsspec/implementations/tests/test_arrow.py::test_copy[False] PASSED [ 21%] fsspec/implementations/tests/test_arrow.py::test_copy[True] PASSED [ 21%] fsspec/implementations/tests/test_arrow.py::test_rm[False] PASSED [ 21%] fsspec/implementations/tests/test_arrow.py::test_rm[True] PASSED [ 21%] fsspec/implementations/tests/test_arrow.py::test_ls[False] PASSED [ 21%] fsspec/implementations/tests/test_arrow.py::test_ls[True] PASSED [ 21%] fsspec/implementations/tests/test_arrow.py::test_mkdir[False] PASSED [ 21%] fsspec/implementations/tests/test_arrow.py::test_mkdir[True] PASSED [ 21%] fsspec/implementations/tests/test_arrow.py::test_makedirs[False] PASSED [ 21%] fsspec/implementations/tests/test_arrow.py::test_makedirs[True] PASSED [ 21%] fsspec/implementations/tests/test_arrow.py::test_exceptions[False] PASSED [ 21%] fsspec/implementations/tests/test_arrow.py::test_exceptions[True] PASSED [ 21%] fsspec/implementations/tests/test_arrow.py::test_open_rw[False] PASSED [ 21%] fsspec/implementations/tests/test_arrow.py::test_open_rw[True] PASSED [ 21%] fsspec/implementations/tests/test_arrow.py::test_open_rw_flush[False] PASSED [ 21%] fsspec/implementations/tests/test_arrow.py::test_open_rw_flush[True] PASSED [ 21%] fsspec/implementations/tests/test_arrow.py::test_open_append[False] PASSED [ 21%] fsspec/implementations/tests/test_arrow.py::test_open_append[True] PASSED [ 22%] fsspec/implementations/tests/test_arrow.py::test_open_seekable[False] PASSED [ 22%] fsspec/implementations/tests/test_arrow.py::test_open_seekable[True] PASSED [ 22%] fsspec/implementations/tests/test_arrow.py::test_seekable[False] PASSED [ 22%] fsspec/implementations/tests/test_arrow.py::test_seekable[True] PASSED [ 22%] fsspec/implementations/tests/test_arrow.py::test_get_kwargs_from_urls_hadoop_fs PASSED [ 22%] fsspec/implementations/tests/test_asyn_wrapper.py::test_is_async PASSED [ 22%] fsspec/implementations/tests/test_asyn_wrapper.py::test_class_wrapper PASSED [ 22%] fsspec/implementations/tests/test_asyn_wrapper.py::test_cats PASSED [ 22%] fsspec/implementations/tests/test_asyn_wrapper.py::test_basic_crud_operations PASSED [ 22%] fsspec/implementations/tests/test_asyn_wrapper.py::test_error_handling PASSED [ 22%] fsspec/implementations/tests/test_asyn_wrapper.py::test_concurrent_operations PASSED [ 22%] fsspec/implementations/tests/test_asyn_wrapper.py::test_directory_operations PASSED [ 22%] fsspec/implementations/tests/test_asyn_wrapper.py::test_batch_operations PASSED [ 22%] fsspec/implementations/tests/test_cached.py::test_mapper PASSED [ 22%] fsspec/implementations/tests/test_cached.py::test_metadata[True-cache_mapper0] PASSED [ 22%] fsspec/implementations/tests/test_cached.py::test_metadata[True-cache_mapper1] PASSED [ 22%] fsspec/implementations/tests/test_cached.py::test_metadata[True-cache_mapper2] PASSED [ 22%] fsspec/implementations/tests/test_cached.py::test_metadata[False-cache_mapper0] PASSED [ 22%] fsspec/implementations/tests/test_cached.py::test_metadata[False-cache_mapper1] PASSED [ 23%] fsspec/implementations/tests/test_cached.py::test_metadata[False-cache_mapper2] PASSED [ 23%] fsspec/implementations/tests/test_cached.py::test_metadata_replace_pickle_with_json PASSED [ 23%] fsspec/implementations/tests/test_cached.py::test_constructor_kwargs PASSED [ 23%] fsspec/implementations/tests/test_cached.py::test_idempotent PASSED [ 23%] fsspec/implementations/tests/test_cached.py::test_blockcache_workflow[True] SKIPPED [ 23%] fsspec/implementations/tests/test_cached.py::test_blockcache_workflow[False] SKIPPED [ 23%] fsspec/implementations/tests/test_cached.py::test_workflow[filecache] SKIPPED [ 23%] fsspec/implementations/tests/test_cached.py::test_workflow[blockcache] SKIPPED [ 23%] fsspec/implementations/tests/test_cached.py::test_workflow[cached] SKIPPED [ 23%] fsspec/implementations/tests/test_cached.py::test_glob[simplecache] SKIPPED [ 23%] fsspec/implementations/tests/test_cached.py::test_glob[blockcache] SKIPPED [ 23%] fsspec/implementations/tests/test_cached.py::test_glob[cached] SKIPPED [ 23%] fsspec/implementations/tests/test_cached.py::test_write PASSED [ 23%] fsspec/implementations/tests/test_cached.py::test_clear PASSED [ 23%] fsspec/implementations/tests/test_cached.py::test_clear_expired[True] PASSED [ 23%] fsspec/implementations/tests/test_cached.py::test_clear_expired[False] PASSED [ 23%] fsspec/implementations/tests/test_cached.py::test_pop PASSED [ 23%] fsspec/implementations/tests/test_cached.py::test_write_pickle_context PASSED [ 24%] fsspec/implementations/tests/test_cached.py::test_blocksize SKIPPED [ 24%] fsspec/implementations/tests/test_cached.py::test_blockcache_multiinstance SKIPPED [ 24%] fsspec/implementations/tests/test_cached.py::test_metadata_save_blocked SKIPPED [ 24%] fsspec/implementations/tests/test_cached.py::test_local_filecache_creates_dir_if_needed[filecache] PASSED [ 24%] fsspec/implementations/tests/test_cached.py::test_local_filecache_creates_dir_if_needed[simplecache] PASSED [ 24%] fsspec/implementations/tests/test_cached.py::test_local_filecache_creates_dir_if_needed[blockcache] PASSED [ 24%] fsspec/implementations/tests/test_cached.py::test_local_filecache_creates_dir_if_needed[cached] PASSED [ 24%] fsspec/implementations/tests/test_cached.py::test_get_mapper[filecache-True] PASSED [ 24%] fsspec/implementations/tests/test_cached.py::test_get_mapper[filecache-False] PASSED [ 24%] fsspec/implementations/tests/test_cached.py::test_get_mapper[simplecache-True] PASSED [ 24%] fsspec/implementations/tests/test_cached.py::test_get_mapper[simplecache-False] PASSED [ 24%] fsspec/implementations/tests/test_cached.py::test_get_mapper[blockcache-True] PASSED [ 24%] fsspec/implementations/tests/test_cached.py::test_get_mapper[blockcache-False] PASSED [ 24%] fsspec/implementations/tests/test_cached.py::test_local_filecache_basic PASSED [ 24%] fsspec/implementations/tests/test_cached.py::test_local_filecache_does_not_change_when_original_data_changed PASSED [ 24%] fsspec/implementations/tests/test_cached.py::test_local_filecache_gets_from_original_if_cache_deleted PASSED [ 24%] fsspec/implementations/tests/test_cached.py::test_local_filecache_with_new_cache_location_makes_a_new_copy PASSED [ 24%] fsspec/implementations/tests/test_cached.py::test_filecache_multicache PASSED [ 25%] fsspec/implementations/tests/test_cached.py::test_filecache_multicache_with_same_file_different_data_reads_from_first[filecache] PASSED [ 25%] fsspec/implementations/tests/test_cached.py::test_filecache_multicache_with_same_file_different_data_reads_from_first[simplecache] PASSED [ 25%] fsspec/implementations/tests/test_cached.py::test_filecache_with_checks PASSED [ 25%] fsspec/implementations/tests/test_cached.py::test_filecache_takes_fs_instance[local-filecache] PASSED [ 25%] fsspec/implementations/tests/test_cached.py::test_filecache_takes_fs_instance[local-simplecache] PASSED [ 25%] fsspec/implementations/tests/test_cached.py::test_filecache_takes_fs_instance[local-blockcache] PASSED [ 25%] fsspec/implementations/tests/test_cached.py::test_filecache_takes_fs_instance[local-cached] PASSED [ 25%] fsspec/implementations/tests/test_cached.py::test_filecache_takes_fs_instance[multi-filecache] PASSED [ 25%] fsspec/implementations/tests/test_cached.py::test_filecache_takes_fs_instance[multi-simplecache] PASSED [ 25%] fsspec/implementations/tests/test_cached.py::test_filecache_takes_fs_instance[multi-blockcache] PASSED [ 25%] fsspec/implementations/tests/test_cached.py::test_filecache_takes_fs_instance[multi-cached] PASSED [ 25%] fsspec/implementations/tests/test_cached.py::test_filecache_serialization[local-filecache] PASSED [ 25%] fsspec/implementations/tests/test_cached.py::test_filecache_serialization[local-simplecache] PASSED [ 25%] fsspec/implementations/tests/test_cached.py::test_filecache_serialization[local-blockcache] PASSED [ 25%] fsspec/implementations/tests/test_cached.py::test_filecache_serialization[local-cached] PASSED [ 25%] fsspec/implementations/tests/test_cached.py::test_filecache_serialization[multi-filecache] PASSED [ 25%] fsspec/implementations/tests/test_cached.py::test_filecache_serialization[multi-simplecache] PASSED [ 25%] fsspec/implementations/tests/test_cached.py::test_filecache_serialization[multi-blockcache] PASSED [ 26%] fsspec/implementations/tests/test_cached.py::test_filecache_serialization[multi-cached] PASSED [ 26%] fsspec/implementations/tests/test_cached.py::test_add_file_to_cache_after_save PASSED [ 26%] fsspec/implementations/tests/test_cached.py::test_cached_open_close_read SKIPPED [ 26%] fsspec/implementations/tests/test_cached.py::test_with_compression[gzip-filecache] PASSED [ 26%] fsspec/implementations/tests/test_cached.py::test_with_compression[gzip-simplecache] PASSED [ 26%] fsspec/implementations/tests/test_cached.py::test_with_compression[bz2-filecache] PASSED [ 26%] fsspec/implementations/tests/test_cached.py::test_with_compression[bz2-simplecache] PASSED [ 26%] fsspec/implementations/tests/test_cached.py::test_again[simplecache] PASSED [ 26%] fsspec/implementations/tests/test_cached.py::test_again[filecache] PASSED [ 26%] fsspec/implementations/tests/test_cached.py::test_multi_cache[simplecache] PASSED [ 26%] fsspec/implementations/tests/test_cached.py::test_multi_cache[filecache] PASSED [ 26%] fsspec/implementations/tests/test_cached.py::test_multi_cat[simplecache] SKIPPED [ 26%] fsspec/implementations/tests/test_cached.py::test_multi_cat[filecache] SKIPPED [ 26%] fsspec/implementations/tests/test_cached.py::test_multi_cat[blockcache] SKIPPED [ 26%] fsspec/implementations/tests/test_cached.py::test_multi_cat[cached] SKIPPED [ 26%] fsspec/implementations/tests/test_cached.py::test_multi_cache_chain[simplecache] PASSED [ 26%] fsspec/implementations/tests/test_cached.py::test_multi_cache_chain[filecache] PASSED [ 26%] fsspec/implementations/tests/test_cached.py::test_strip[blockcache] PASSED [ 27%] fsspec/implementations/tests/test_cached.py::test_strip[cached] PASSED [ 27%] fsspec/implementations/tests/test_cached.py::test_strip[simplecache] PASSED [ 27%] fsspec/implementations/tests/test_cached.py::test_strip[filecache] PASSED [ 27%] fsspec/implementations/tests/test_cached.py::test_cached_write[simplecache] PASSED [ 27%] fsspec/implementations/tests/test_cached.py::test_cached_write[filecache] PASSED [ 27%] fsspec/implementations/tests/test_cached.py::test_expiry PASSED [ 27%] fsspec/implementations/tests/test_cached.py::test_equality PASSED [ 27%] fsspec/implementations/tests/test_cached.py::test_str PASSED [ 27%] fsspec/implementations/tests/test_cached.py::test_getitems_errors PASSED [ 27%] fsspec/implementations/tests/test_cached.py::test_cache_dir_auto_deleted[False] PASSED [ 27%] fsspec/implementations/tests/test_cached.py::test_cache_dir_auto_deleted[True] PASSED [ 27%] fsspec/implementations/tests/test_cached.py::test_cache_size[filecache] PASSED [ 27%] fsspec/implementations/tests/test_cached.py::test_cache_size[blockcache] PASSED [ 27%] fsspec/implementations/tests/test_cached.py::test_cache_size[cached] PASSED [ 27%] fsspec/implementations/tests/test_cached.py::test_cache_size[simplecache] PASSED [ 27%] fsspec/implementations/tests/test_cached.py::test_spurious_directory_issue1410 PASSED [ 27%] fsspec/implementations/tests/test_cached.py::test_write_transaction PASSED [ 27%] fsspec/implementations/tests/test_cached.py::test_filecache_write PASSED [ 27%] fsspec/implementations/tests/test_common.py::test_created[local] PASSED [ 28%] fsspec/implementations/tests/test_common.py::test_modified[local] PASSED [ 28%] fsspec/implementations/tests/test_common.py::test_modified[memory] PASSED [ 28%] fsspec/implementations/tests/test_common.py::test_modified[arrow] PASSED [ 28%] fsspec/implementations/tests/test_dask.py::test_basic PASSED [ 28%] fsspec/implementations/tests/test_data.py::test_1 PASSED [ 28%] fsspec/implementations/tests/test_data.py::test_info PASSED [ 28%] fsspec/implementations/tests/test_dirfs.py::test_dirfs[sync] PASSED [ 28%] fsspec/implementations/tests/test_dirfs.py::test_dirfs[async] PASSED [ 28%] fsspec/implementations/tests/test_dirfs.py::test_path[sync---] PASSED [ 28%] fsspec/implementations/tests/test_dirfs.py::test_path[sync--foo-foo] PASSED [ 28%] fsspec/implementations/tests/test_dirfs.py::test_path[sync-root--root] PASSED [ 28%] fsspec/implementations/tests/test_dirfs.py::test_path[sync-root-foo-root/foo] PASSED [ 28%] fsspec/implementations/tests/test_dirfs.py::test_path[sync-/root--/root] PASSED [ 28%] fsspec/implementations/tests/test_dirfs.py::test_path[sync-/root-foo-/root/foo] PASSED [ 28%] fsspec/implementations/tests/test_dirfs.py::test_path[async---] PASSED [ 28%] fsspec/implementations/tests/test_dirfs.py::test_path[async--foo-foo] PASSED [ 28%] fsspec/implementations/tests/test_dirfs.py::test_path[async-root--root] PASSED [ 28%] fsspec/implementations/tests/test_dirfs.py::test_path[async-root-foo-root/foo] PASSED [ 29%] fsspec/implementations/tests/test_dirfs.py::test_path[async-/root--/root] PASSED [ 29%] fsspec/implementations/tests/test_dirfs.py::test_path[async-/root-foo-/root/foo] PASSED [ 29%] fsspec/implementations/tests/test_dirfs.py::test_path_no_leading_slash[sync-/root-foo-root/foo] PASSED [ 29%] fsspec/implementations/tests/test_dirfs.py::test_path_no_leading_slash[sync-/root--root] PASSED [ 29%] fsspec/implementations/tests/test_dirfs.py::test_path_no_leading_slash[async-/root-foo-root/foo] PASSED [ 29%] fsspec/implementations/tests/test_dirfs.py::test_path_no_leading_slash[async-/root--root] PASSED [ 29%] fsspec/implementations/tests/test_dirfs.py::test_sep[sync] PASSED [ 29%] fsspec/implementations/tests/test_dirfs.py::test_sep[async] PASSED [ 29%] fsspec/implementations/tests/test_dirfs.py::test_set_session PASSED [ 29%] fsspec/implementations/tests/test_dirfs.py::test_async_rm_file PASSED [ 29%] fsspec/implementations/tests/test_dirfs.py::test_rm_file[sync] PASSED [ 29%] fsspec/implementations/tests/test_dirfs.py::test_rm_file[async] PASSED [ 29%] fsspec/implementations/tests/test_dirfs.py::test_async_rm PASSED [ 29%] fsspec/implementations/tests/test_dirfs.py::test_rm[sync] PASSED [ 29%] fsspec/implementations/tests/test_dirfs.py::test_rm[async] PASSED [ 29%] fsspec/implementations/tests/test_dirfs.py::test_async_cp_file PASSED [ 29%] fsspec/implementations/tests/test_dirfs.py::test_cp_file[sync] PASSED [ 29%] fsspec/implementations/tests/test_dirfs.py::test_cp_file[async] PASSED [ 30%] fsspec/implementations/tests/test_dirfs.py::test_async_copy PASSED [ 30%] fsspec/implementations/tests/test_dirfs.py::test_copy[sync] PASSED [ 30%] fsspec/implementations/tests/test_dirfs.py::test_copy[async] PASSED [ 30%] fsspec/implementations/tests/test_dirfs.py::test_async_pipe PASSED [ 30%] fsspec/implementations/tests/test_dirfs.py::test_pipe[sync] PASSED [ 30%] fsspec/implementations/tests/test_dirfs.py::test_pipe[async] PASSED [ 30%] fsspec/implementations/tests/test_dirfs.py::test_pipe_dict[sync] PASSED [ 30%] fsspec/implementations/tests/test_dirfs.py::test_pipe_dict[async] PASSED [ 30%] fsspec/implementations/tests/test_dirfs.py::test_async_pipe_file PASSED [ 30%] fsspec/implementations/tests/test_dirfs.py::test_pipe_file[sync] PASSED [ 30%] fsspec/implementations/tests/test_dirfs.py::test_pipe_file[async] PASSED [ 30%] fsspec/implementations/tests/test_dirfs.py::test_async_cat_file PASSED [ 30%] fsspec/implementations/tests/test_dirfs.py::test_cat_file[sync] PASSED [ 30%] fsspec/implementations/tests/test_dirfs.py::test_cat_file[async] PASSED [ 30%] fsspec/implementations/tests/test_dirfs.py::test_async_cat PASSED [ 30%] fsspec/implementations/tests/test_dirfs.py::test_cat[sync] PASSED [ 30%] fsspec/implementations/tests/test_dirfs.py::test_cat[async] PASSED [ 30%] fsspec/implementations/tests/test_dirfs.py::test_async_cat_list PASSED [ 31%] fsspec/implementations/tests/test_dirfs.py::test_cat_list[sync] PASSED [ 31%] fsspec/implementations/tests/test_dirfs.py::test_cat_list[async] PASSED [ 31%] fsspec/implementations/tests/test_dirfs.py::test_async_put_file PASSED [ 31%] fsspec/implementations/tests/test_dirfs.py::test_put_file[sync] PASSED [ 31%] fsspec/implementations/tests/test_dirfs.py::test_put_file[async] PASSED [ 31%] fsspec/implementations/tests/test_dirfs.py::test_async_put PASSED [ 31%] fsspec/implementations/tests/test_dirfs.py::test_put[sync] PASSED [ 31%] fsspec/implementations/tests/test_dirfs.py::test_put[async] PASSED [ 31%] fsspec/implementations/tests/test_dirfs.py::test_async_get_file PASSED [ 31%] fsspec/implementations/tests/test_dirfs.py::test_get_file[sync] PASSED [ 31%] fsspec/implementations/tests/test_dirfs.py::test_get_file[async] PASSED [ 31%] fsspec/implementations/tests/test_dirfs.py::test_async_get PASSED [ 31%] fsspec/implementations/tests/test_dirfs.py::test_get[sync] PASSED [ 31%] fsspec/implementations/tests/test_dirfs.py::test_get[async] PASSED [ 31%] fsspec/implementations/tests/test_dirfs.py::test_async_isfile PASSED [ 31%] fsspec/implementations/tests/test_dirfs.py::test_isfile[sync] PASSED [ 31%] fsspec/implementations/tests/test_dirfs.py::test_isfile[async] PASSED [ 31%] fsspec/implementations/tests/test_dirfs.py::test_async_isdir PASSED [ 32%] fsspec/implementations/tests/test_dirfs.py::test_isdir[sync] PASSED [ 32%] fsspec/implementations/tests/test_dirfs.py::test_isdir[async] PASSED [ 32%] fsspec/implementations/tests/test_dirfs.py::test_async_size PASSED [ 32%] fsspec/implementations/tests/test_dirfs.py::test_size[sync] PASSED [ 32%] fsspec/implementations/tests/test_dirfs.py::test_size[async] PASSED [ 32%] fsspec/implementations/tests/test_dirfs.py::test_async_exists PASSED [ 32%] fsspec/implementations/tests/test_dirfs.py::test_exists[sync] PASSED [ 32%] fsspec/implementations/tests/test_dirfs.py::test_exists[async] PASSED [ 32%] fsspec/implementations/tests/test_dirfs.py::test_async_info PASSED [ 32%] fsspec/implementations/tests/test_dirfs.py::test_info[sync] PASSED [ 32%] fsspec/implementations/tests/test_dirfs.py::test_info[async] PASSED [ 32%] fsspec/implementations/tests/test_dirfs.py::test_async_ls PASSED [ 32%] fsspec/implementations/tests/test_dirfs.py::test_ls[sync] PASSED [ 32%] fsspec/implementations/tests/test_dirfs.py::test_ls[async] PASSED [ 32%] fsspec/implementations/tests/test_dirfs.py::test_async_ls_detail PASSED [ 32%] fsspec/implementations/tests/test_dirfs.py::test_ls_detail[sync] PASSED [ 32%] fsspec/implementations/tests/test_dirfs.py::test_ls_detail[async] PASSED [ 32%] fsspec/implementations/tests/test_dirfs.py::test_async_walk PASSED [ 33%] fsspec/implementations/tests/test_dirfs.py::test_walk[sync] PASSED [ 33%] fsspec/implementations/tests/test_dirfs.py::test_walk[async] PASSED [ 33%] fsspec/implementations/tests/test_dirfs.py::test_async_glob PASSED [ 33%] fsspec/implementations/tests/test_dirfs.py::test_glob[sync] PASSED [ 33%] fsspec/implementations/tests/test_dirfs.py::test_glob[async] PASSED [ 33%] fsspec/implementations/tests/test_dirfs.py::test_glob_with_protocol[sync] PASSED [ 33%] fsspec/implementations/tests/test_dirfs.py::test_glob_with_protocol[async] PASSED [ 33%] fsspec/implementations/tests/test_dirfs.py::test_async_glob_detail PASSED [ 33%] fsspec/implementations/tests/test_dirfs.py::test_glob_detail[sync] PASSED [ 33%] fsspec/implementations/tests/test_dirfs.py::test_glob_detail[async] PASSED [ 33%] fsspec/implementations/tests/test_dirfs.py::test_async_du PASSED [ 33%] fsspec/implementations/tests/test_dirfs.py::test_du[sync] PASSED [ 33%] fsspec/implementations/tests/test_dirfs.py::test_du[async] PASSED [ 33%] fsspec/implementations/tests/test_dirfs.py::test_async_du_granular PASSED [ 33%] fsspec/implementations/tests/test_dirfs.py::test_du_granular[sync] PASSED [ 33%] fsspec/implementations/tests/test_dirfs.py::test_du_granular[async] PASSED [ 33%] fsspec/implementations/tests/test_dirfs.py::test_async_find PASSED [ 33%] fsspec/implementations/tests/test_dirfs.py::test_find[sync] PASSED [ 33%] fsspec/implementations/tests/test_dirfs.py::test_find[async] PASSED [ 34%] fsspec/implementations/tests/test_dirfs.py::test_async_find_detail PASSED [ 34%] fsspec/implementations/tests/test_dirfs.py::test_find_detail[sync] PASSED [ 34%] fsspec/implementations/tests/test_dirfs.py::test_find_detail[async] PASSED [ 34%] fsspec/implementations/tests/test_dirfs.py::test_async_expand_path PASSED [ 34%] fsspec/implementations/tests/test_dirfs.py::test_expand_path[sync] PASSED [ 34%] fsspec/implementations/tests/test_dirfs.py::test_expand_path[async] PASSED [ 34%] fsspec/implementations/tests/test_dirfs.py::test_async_expand_path_list PASSED [ 34%] fsspec/implementations/tests/test_dirfs.py::test_expand_path_list[sync] PASSED [ 34%] fsspec/implementations/tests/test_dirfs.py::test_expand_path_list[async] PASSED [ 34%] fsspec/implementations/tests/test_dirfs.py::test_async_mkdir PASSED [ 34%] fsspec/implementations/tests/test_dirfs.py::test_mkdir[sync] PASSED [ 34%] fsspec/implementations/tests/test_dirfs.py::test_mkdir[async] PASSED [ 34%] fsspec/implementations/tests/test_dirfs.py::test_async_makedirs PASSED [ 34%] fsspec/implementations/tests/test_dirfs.py::test_makedirs[sync] PASSED [ 34%] fsspec/implementations/tests/test_dirfs.py::test_makedirs[async] PASSED [ 34%] fsspec/implementations/tests/test_dirfs.py::test_rmdir[sync] PASSED [ 34%] fsspec/implementations/tests/test_dirfs.py::test_rmdir[async] PASSED [ 34%] fsspec/implementations/tests/test_dirfs.py::test_mv[sync] PASSED [ 35%] fsspec/implementations/tests/test_dirfs.py::test_mv[async] PASSED [ 35%] fsspec/implementations/tests/test_dirfs.py::test_touch[sync] PASSED [ 35%] fsspec/implementations/tests/test_dirfs.py::test_touch[async] PASSED [ 35%] fsspec/implementations/tests/test_dirfs.py::test_created[sync] PASSED [ 35%] fsspec/implementations/tests/test_dirfs.py::test_created[async] PASSED [ 35%] fsspec/implementations/tests/test_dirfs.py::test_modified[sync] PASSED [ 35%] fsspec/implementations/tests/test_dirfs.py::test_modified[async] PASSED [ 35%] fsspec/implementations/tests/test_dirfs.py::test_sign[sync] PASSED [ 35%] fsspec/implementations/tests/test_dirfs.py::test_sign[async] PASSED [ 35%] fsspec/implementations/tests/test_dirfs.py::test_open_async PASSED [ 35%] fsspec/implementations/tests/test_dirfs.py::test_open[sync] PASSED [ 35%] fsspec/implementations/tests/test_dirfs.py::test_open[async] PASSED [ 35%] fsspec/implementations/tests/test_dirfs.py::test_from_url PASSED [ 35%] fsspec/implementations/tests/test_ftp.py::test_tls[False-FTP] SKIPPED [ 35%] fsspec/implementations/tests/test_ftp.py::test_tls[True-FTP_TLS] SKIPPED [ 35%] fsspec/implementations/tests/test_ftp.py::test_basic[False--] SKIPPED [ 35%] fsspec/implementations/tests/test_ftp.py::test_basic[True--] SKIPPED [ 35%] fsspec/implementations/tests/test_ftp.py::test_basic[False-user-pass] SKIPPED [ 36%] fsspec/implementations/tests/test_ftp.py::test_basic[True-user-pass] SKIPPED [ 36%] fsspec/implementations/tests/test_ftp.py::test_not_cached SKIPPED (c...) [ 36%] fsspec/implementations/tests/test_ftp.py::test_ls_root_dircache SKIPPED [ 36%] fsspec/implementations/tests/test_ftp.py::test_complex[bytes] SKIPPED [ 36%] fsspec/implementations/tests/test_ftp.py::test_complex[mmap] SKIPPED [ 36%] fsspec/implementations/tests/test_ftp.py::test_write_small SKIPPED (...) [ 36%] fsspec/implementations/tests/test_ftp.py::test_with_url SKIPPED (cou...) [ 36%] fsspec/implementations/tests/test_ftp.py::test_write_big[bytes] SKIPPED [ 36%] fsspec/implementations/tests/test_ftp.py::test_write_big[mmap] SKIPPED [ 36%] fsspec/implementations/tests/test_ftp.py::test_transaction SKIPPED (...) [ 36%] fsspec/implementations/tests/test_ftp.py::test_transaction_with_cache SKIPPED [ 36%] fsspec/implementations/tests/test_ftp.py::test_cat_get SKIPPED (coul...) [ 36%] fsspec/implementations/tests/test_ftp.py::test_mkdir SKIPPED (could ...) [ 36%] fsspec/implementations/tests/test_ftp.py::test_rm_get_recursive SKIPPED [ 36%] fsspec/implementations/tests/test_git.py::test_refs PASSED [ 36%] fsspec/implementations/tests/test_git.py::test_file_existence_checks PASSED [ 36%] fsspec/implementations/tests/test_git.py::test_url PASSED [ 36%] fsspec/implementations/tests/test_http.py::test_list FAILED [ 37%] fsspec/implementations/tests/test_http.py::test_list_invalid_args PASSED [ 37%] fsspec/implementations/tests/test_http.py::test_list_cache FAILED [ 37%] fsspec/implementations/tests/test_http.py::test_list_cache_with_expiry_time_cached FAILED [ 37%] fsspec/implementations/tests/test_http.py::test_list_cache_with_expiry_time_purged FAILED [ 37%] fsspec/implementations/tests/test_http.py::test_list_cache_reuse FAILED [ 37%] fsspec/implementations/tests/test_http.py::test_ls_raises_filenotfound FAILED [ 37%] fsspec/implementations/tests/test_http.py::test_list_cache_with_max_paths FAILED [ 37%] fsspec/implementations/tests/test_http.py::test_list_cache_with_skip_instance_cache FAILED [ 37%] fsspec/implementations/tests/test_http.py::test_glob_return_subfolders FAILED [ 37%] fsspec/implementations/tests/test_http.py::test_isdir FAILED [ 37%] fsspec/implementations/tests/test_http.py::test_policy_arg FAILED [ 37%] fsspec/implementations/tests/test_http.py::test_exists FAILED [ 37%] fsspec/implementations/tests/test_http.py::test_read FAILED [ 37%] fsspec/implementations/tests/test_http.py::test_file_pickle FAILED [ 37%] fsspec/implementations/tests/test_http.py::test_methods FAILED [ 37%] fsspec/implementations/tests/test_http.py::test_random_access[headers0] FAILED [ 37%] fsspec/implementations/tests/test_http.py::test_random_access[headers1] FAILED [ 37%] fsspec/implementations/tests/test_http.py::test_random_access[headers2] FAILED [ 38%] fsspec/implementations/tests/test_http.py::test_random_access[headers3] FAILED [ 38%] fsspec/implementations/tests/test_http.py::test_random_access[headers4] FAILED [ 38%] fsspec/implementations/tests/test_http.py::test_random_access[headers5] FAILED [ 38%] fsspec/implementations/tests/test_http.py::test_random_access[headers6] FAILED [ 38%] fsspec/implementations/tests/test_http.py::test_random_access[headers7] FAILED [ 38%] fsspec/implementations/tests/test_http.py::test_random_access[headers8] FAILED [ 38%] fsspec/implementations/tests/test_http.py::test_no_range_support[headers0] FAILED [ 38%] fsspec/implementations/tests/test_http.py::test_no_range_support[headers1] FAILED [ 38%] fsspec/implementations/tests/test_http.py::test_no_range_support[headers2] FAILED [ 38%] fsspec/implementations/tests/test_http.py::test_no_range_support[headers3] FAILED [ 38%] fsspec/implementations/tests/test_http.py::test_stream_seek FAILED [ 38%] fsspec/implementations/tests/test_http.py::test_mapper_url FAILED [ 38%] fsspec/implementations/tests/test_http.py::test_content_length_zero FAILED [ 38%] fsspec/implementations/tests/test_http.py::test_content_encoding_gzip FAILED [ 38%] fsspec/implementations/tests/test_http.py::test_download FAILED [ 38%] fsspec/implementations/tests/test_http.py::test_multi_download FAILED [ 38%] fsspec/implementations/tests/test_http.py::test_ls FAILED [ 38%] fsspec/implementations/tests/test_http.py::test_mcat FAILED [ 38%] fsspec/implementations/tests/test_http.py::test_cat_file_range FAILED [ 39%] fsspec/implementations/tests/test_http.py::test_cat_file_range_numpy FAILED [ 39%] fsspec/implementations/tests/test_http.py::test_mcat_cache FAILED [ 39%] fsspec/implementations/tests/test_http.py::test_mcat_expand FAILED [ 39%] fsspec/implementations/tests/test_http.py::test_info FAILED [ 39%] fsspec/implementations/tests/test_http.py::test_put_file[POST] FAILED [ 39%] fsspec/implementations/tests/test_http.py::test_put_file[PUT] FAILED [ 39%] fsspec/implementations/tests/test_http.py::test_docstring PASSED [ 39%] fsspec/implementations/tests/test_http.py::test_async_other_thread FAILED [ 39%] fsspec/implementations/tests/test_http.py::test_async_this_thread FAILED [ 39%] fsspec/implementations/tests/test_http.py::test_processes[spawn] FAILED [ 39%] fsspec/implementations/tests/test_http.py::test_processes[forkserver] FAILED [ 39%] fsspec/implementations/tests/test_http.py::test_close[get_aiohttp] PASSED [ 39%] fsspec/implementations/tests/test_http.py::test_close[get_proxy] PASSED [ 39%] fsspec/implementations/tests/test_http.py::test_async_file FAILED [ 39%] fsspec/implementations/tests/test_http.py::test_encoded FAILED [ 39%] fsspec/implementations/tests/test_http.py::test_with_cache FAILED [ 39%] fsspec/implementations/tests/test_http.py::test_async_expand_path FAILED [ 39%] fsspec/implementations/tests/test_http.py::test_async_walk FAILED [ 40%] fsspec/implementations/tests/test_jupyter.py::test_simple PASSED [ 40%] fsspec/implementations/tests/test_libarchive.py::test_cache SKIPPED [ 40%] fsspec/implementations/tests/test_local.py::test_urlpath_inference_strips_protocol PASSED [ 40%] fsspec/implementations/tests/test_local.py::test_urlpath_inference_errors SKIPPED [ 40%] fsspec/implementations/tests/test_local.py::test_urlpath_expand_read PASSED [ 40%] fsspec/implementations/tests/test_local.py::test_cats PASSED [ 40%] fsspec/implementations/tests/test_local.py::test_urlpath_expand_write PASSED [ 40%] fsspec/implementations/tests/test_local.py::test_open_files PASSED [ 40%] fsspec/implementations/tests/test_local.py::test_open_files_text_mode[utf-8] PASSED [ 40%] fsspec/implementations/tests/test_local.py::test_open_files_text_mode[ascii] PASSED [ 40%] fsspec/implementations/tests/test_local.py::test_compressions[None-rt] PASSED [ 40%] fsspec/implementations/tests/test_local.py::test_compressions[None-rb] PASSED [ 40%] fsspec/implementations/tests/test_local.py::test_compressions[zip-rt] PASSED [ 40%] fsspec/implementations/tests/test_local.py::test_compressions[zip-rb] PASSED [ 40%] fsspec/implementations/tests/test_local.py::test_compressions[bz2-rt] PASSED [ 40%] fsspec/implementations/tests/test_local.py::test_compressions[bz2-rb] PASSED [ 40%] fsspec/implementations/tests/test_local.py::test_compressions[gzip-rt] PASSED [ 40%] fsspec/implementations/tests/test_local.py::test_compressions[gzip-rb] PASSED [ 41%] fsspec/implementations/tests/test_local.py::test_compressions[lzma-rt] PASSED [ 41%] fsspec/implementations/tests/test_local.py::test_compressions[lzma-rb] PASSED [ 41%] fsspec/implementations/tests/test_local.py::test_compressions[xz-rt] PASSED [ 41%] fsspec/implementations/tests/test_local.py::test_compressions[xz-rb] PASSED [ 41%] fsspec/implementations/tests/test_local.py::test_compressions[snappy-rt] PASSED [ 41%] fsspec/implementations/tests/test_local.py::test_compressions[snappy-rb] PASSED [ 41%] fsspec/implementations/tests/test_local.py::test_compressions[lz4-rt] PASSED [ 41%] fsspec/implementations/tests/test_local.py::test_compressions[lz4-rb] PASSED [ 41%] fsspec/implementations/tests/test_local.py::test_compressions[zstd-rt] PASSED [ 41%] fsspec/implementations/tests/test_local.py::test_compressions[zstd-rb] PASSED [ 41%] fsspec/implementations/tests/test_local.py::test_bad_compression PASSED [ 41%] fsspec/implementations/tests/test_local.py::test_not_found PASSED [ 41%] fsspec/implementations/tests/test_local.py::test_isfile PASSED [ 41%] fsspec/implementations/tests/test_local.py::test_isdir PASSED [ 41%] fsspec/implementations/tests/test_local.py::test_open_files_write[compression_opener0] PASSED [ 41%] fsspec/implementations/tests/test_local.py::test_open_files_write[compression_opener1] PASSED [ 41%] fsspec/implementations/tests/test_local.py::test_pickability_of_lazy_files PASSED [ 41%] fsspec/implementations/tests/test_local.py::test_abs_paths PASSED [ 42%] fsspec/implementations/tests/test_local.py::test_glob_weird_characters[+-/] PASSED [ 42%] fsspec/implementations/tests/test_local.py::test_glob_weird_characters[+-\\] PASSED [ 42%] fsspec/implementations/tests/test_local.py::test_glob_weird_characters[++-/] PASSED [ 42%] fsspec/implementations/tests/test_local.py::test_glob_weird_characters[++-\\] PASSED [ 42%] fsspec/implementations/tests/test_local.py::test_glob_weird_characters[(-/] PASSED [ 42%] fsspec/implementations/tests/test_local.py::test_glob_weird_characters[(-\\] PASSED [ 42%] fsspec/implementations/tests/test_local.py::test_glob_weird_characters[)-/] PASSED [ 42%] fsspec/implementations/tests/test_local.py::test_glob_weird_characters[)-\\] PASSED [ 42%] fsspec/implementations/tests/test_local.py::test_glob_weird_characters[|-/] PASSED [ 42%] fsspec/implementations/tests/test_local.py::test_glob_weird_characters[|-\\] PASSED [ 42%] fsspec/implementations/tests/test_local.py::test_glob_weird_characters[\\-/] PASSED [ 42%] fsspec/implementations/tests/test_local.py::test_glob_weird_characters[\\-\\] PASSED [ 42%] fsspec/implementations/tests/test_local.py::test_globfind_dirs PASSED [ 42%] fsspec/implementations/tests/test_local.py::test_touch PASSED [ 42%] fsspec/implementations/tests/test_local.py::test_touch_truncate PASSED [ 42%] fsspec/implementations/tests/test_local.py::test_directories PASSED [ 42%] fsspec/implementations/tests/test_local.py::test_ls_on_file PASSED [ 42%] fsspec/implementations/tests/test_local.py::test_file_ops[] PASSED [ 43%] fsspec/implementations/tests/test_local.py::test_file_ops[file://] PASSED [ 43%] fsspec/implementations/tests/test_local.py::test_recursive_get_put PASSED [ 43%] fsspec/implementations/tests/test_local.py::test_commit_discard PASSED [ 43%] fsspec/implementations/tests/test_local.py::test_make_path_posix PASSED [ 43%] fsspec/implementations/tests/test_local.py::test_make_path_posix_returns_absolute_paths[/abc/def] PASSED [ 43%] fsspec/implementations/tests/test_local.py::test_make_path_posix_returns_absolute_paths[abc/def] PASSED [ 43%] fsspec/implementations/tests/test_local.py::test_make_path_posix_returns_absolute_paths[] PASSED [ 43%] fsspec/implementations/tests/test_local.py::test_make_path_posix_returns_absolute_paths[.] PASSED [ 43%] fsspec/implementations/tests/test_local.py::test_make_path_posix_returns_absolute_paths[//server/share/] PASSED [ 43%] fsspec/implementations/tests/test_local.py::test_make_path_posix_returns_absolute_paths[\\\\server\\share\\] PASSED [ 43%] fsspec/implementations/tests/test_local.py::test_make_path_posix_returns_absolute_paths[C:\\] PASSED [ 43%] fsspec/implementations/tests/test_local.py::test_make_path_posix_returns_absolute_paths[d:/abc/def] PASSED [ 43%] fsspec/implementations/tests/test_local.py::test_make_path_posix_returns_absolute_paths[e:] PASSED [ 43%] fsspec/implementations/tests/test_local.py::test_make_path_posix_returns_absolute_paths[\\\\server\\share] PASSED [ 43%] fsspec/implementations/tests/test_local.py::test_make_path_posix_returns_absolute_paths[relative-path-with-drive] PASSED [ 43%] fsspec/implementations/tests/test_local.py::test_make_path_posix_set_list_tuple[list] PASSED [ 43%] fsspec/implementations/tests/test_local.py::test_make_path_posix_set_list_tuple[set] PASSED [ 43%] fsspec/implementations/tests/test_local.py::test_make_path_posix_set_list_tuple[tuple] PASSED [ 44%] fsspec/implementations/tests/test_local.py::test_make_path_posix_wrong_type[1] PASSED [ 44%] fsspec/implementations/tests/test_local.py::test_make_path_posix_wrong_type[True] PASSED [ 44%] fsspec/implementations/tests/test_local.py::test_make_path_posix_wrong_type[None] PASSED [ 44%] fsspec/implementations/tests/test_local.py::test_make_path_posix_wrong_type[obj3] PASSED [ 44%] fsspec/implementations/tests/test_local.py::test_parent PASSED [ 44%] fsspec/implementations/tests/test_local.py::test_parent_edge_cases[/-/] PASSED [ 44%] fsspec/implementations/tests/test_local.py::test_parent_edge_cases[/.-/] PASSED [ 44%] fsspec/implementations/tests/test_local.py::test_parent_edge_cases[/./-/] PASSED [ 44%] fsspec/implementations/tests/test_local.py::test_parent_edge_cases[file:/-/] PASSED [ 44%] fsspec/implementations/tests/test_local.py::test_parent_edge_cases[file:///-/] PASSED [ 44%] fsspec/implementations/tests/test_local.py::test_parent_edge_cases[local:/-/] PASSED [ 44%] fsspec/implementations/tests/test_local.py::test_parent_edge_cases[local:///-/] PASSED [ 44%] fsspec/implementations/tests/test_local.py::test_parent_edge_cases[/file or folder-/] PASSED [ 44%] fsspec/implementations/tests/test_local.py::test_parent_edge_cases[/file or folder/-/] PASSED [ 44%] fsspec/implementations/tests/test_local.py::test_parent_edge_cases[file:///path-/] PASSED [ 44%] fsspec/implementations/tests/test_local.py::test_parent_edge_cases[file://c/-{cwd}] PASSED [ 44%] fsspec/implementations/tests/test_local.py::test_linked_files PASSED [ 44%] fsspec/implementations/tests/test_local.py::test_linked_files_exists PASSED [ 44%] fsspec/implementations/tests/test_local.py::test_linked_directories PASSED [ 45%] fsspec/implementations/tests/test_local.py::test_isfilestore PASSED [ 45%] fsspec/implementations/tests/test_local.py::test_pickle PASSED [ 45%] fsspec/implementations/tests/test_local.py::test_strip_protocol_expanduser[file://~/foo/bar-{user_home}/foo/bar] PASSED [ 45%] fsspec/implementations/tests/test_local.py::test_strip_protocol_expanduser[~/foo/bar-{user_home}/foo/bar] PASSED [ 45%] fsspec/implementations/tests/test_local.py::test_strip_protocol_expanduser[~\\foo\\bar-{user_home}/foo/bar] SKIPPED [ 45%] fsspec/implementations/tests/test_local.py::test_strip_protocol_expanduser[file://~\\foo\\bar-{user_home}/foo/bar] SKIPPED [ 45%] fsspec/implementations/tests/test_local.py::test_strip_protocol_relative_paths[file://-{cwd}] PASSED [ 45%] fsspec/implementations/tests/test_local.py::test_strip_protocol_relative_paths[file://.-{cwd}] PASSED [ 45%] fsspec/implementations/tests/test_local.py::test_strip_protocol_relative_paths[file://./-{cwd}] PASSED [ 45%] fsspec/implementations/tests/test_local.py::test_strip_protocol_relative_paths[./-{cwd}] PASSED [ 45%] fsspec/implementations/tests/test_local.py::test_strip_protocol_relative_paths[file:path-{cwd}/path] PASSED [ 45%] fsspec/implementations/tests/test_local.py::test_strip_protocol_relative_paths[file://path-{cwd}/path] PASSED [ 45%] fsspec/implementations/tests/test_local.py::test_strip_protocol_relative_paths[path-{cwd}/path] PASSED [ 45%] fsspec/implementations/tests/test_local.py::test_strip_protocol_relative_paths[./path-{cwd}/path] PASSED [ 45%] fsspec/implementations/tests/test_local.py::test_strip_protocol_relative_paths[.\\-{cwd}] SKIPPED [ 45%] fsspec/implementations/tests/test_local.py::test_strip_protocol_relative_paths[file://.\\path-{cwd}/path] SKIPPED [ 45%] fsspec/implementations/tests/test_local.py::test_strip_protocol_no_authority[file:/foo/bar-/foo/bar] PASSED [ 45%] fsspec/implementations/tests/test_local.py::test_strip_protocol_no_authority[file:/foo/bar-{current_drive}/foo/bar] SKIPPED [ 46%] fsspec/implementations/tests/test_local.py::test_strip_protocol_no_authority[file:\\foo\\bar-{current_drive}/foo/bar] SKIPPED [ 46%] fsspec/implementations/tests/test_local.py::test_strip_protocol_no_authority[file:D:\\path\\file-D:/path/file] SKIPPED [ 46%] fsspec/implementations/tests/test_local.py::test_strip_protocol_no_authority[file:/D:\\path\\file-D:/path/file] SKIPPED [ 46%] fsspec/implementations/tests/test_local.py::test_strip_protocol_no_authority[file://D:\\path\\file-D:/path/file] SKIPPED [ 46%] fsspec/implementations/tests/test_local.py::test_strip_protocol_absolute_paths[file:/path-/path] PASSED [ 46%] fsspec/implementations/tests/test_local.py::test_strip_protocol_absolute_paths[file:///path-/path] PASSED [ 46%] fsspec/implementations/tests/test_local.py::test_strip_protocol_absolute_paths[file:////path-//path] PASSED [ 46%] fsspec/implementations/tests/test_local.py::test_strip_protocol_absolute_paths[local:/path-/path] PASSED [ 46%] fsspec/implementations/tests/test_local.py::test_strip_protocol_absolute_paths[s3://bucket/key-{cwd}/s3://bucket/key] PASSED [ 46%] fsspec/implementations/tests/test_local.py::test_strip_protocol_absolute_paths[/path-/path] PASSED [ 46%] fsspec/implementations/tests/test_local.py::test_strip_protocol_absolute_paths[file:///-/] PASSED [ 46%] fsspec/implementations/tests/test_local.py::test_strip_protocol_legacy_dos_uris[file:c|/path-c:/path] SKIPPED [ 46%] fsspec/implementations/tests/test_local.py::test_strip_protocol_legacy_dos_uris[file:/D|/path-D:/path] SKIPPED [ 46%] fsspec/implementations/tests/test_local.py::test_strip_protocol_legacy_dos_uris[file:///C|/path-C:/path] SKIPPED [ 46%] fsspec/implementations/tests/test_local.py::test_strip_protocol_windows_remote_shares[file://remote/share/pth-{cwd}/remote/share/pth] PASSED [ 46%] fsspec/implementations/tests/test_local.py::test_strip_protocol_windows_remote_shares[file:////remote/share/pth-//remote/share/pth] PASSED [ 46%] fsspec/implementations/tests/test_local.py::test_strip_protocol_windows_remote_shares[file://///remote/share/pth-///remote/share/pth] PASSED [ 46%] fsspec/implementations/tests/test_local.py::test_strip_protocol_windows_remote_shares[//remote/share/pth-//remote/share/pth] PASSED [ 47%] fsspec/implementations/tests/test_local.py::test_strip_protocol_windows_remote_shares[\\\\remote\\share\\pth-//remote/share/pth] SKIPPED [ 47%] fsspec/implementations/tests/test_local.py::test_mkdir_twice_faile PASSED [ 47%] fsspec/implementations/tests/test_local.py::test_iterable PASSED [ 47%] fsspec/implementations/tests/test_local.py::test_mv_empty PASSED [ 47%] fsspec/implementations/tests/test_local.py::test_mv_recursive PASSED [ 47%] fsspec/implementations/tests/test_local.py::test_copy_errors PASSED [ 47%] fsspec/implementations/tests/test_local.py::test_transaction PASSED [ 47%] fsspec/implementations/tests/test_local.py::test_delete_cwd PASSED [ 47%] fsspec/implementations/tests/test_local.py::test_delete_non_recursive_dir_fails PASSED [ 47%] fsspec/implementations/tests/test_local.py::test_infer_compression[open-.bz2] PASSED [ 47%] fsspec/implementations/tests/test_local.py::test_infer_compression[open-.gz] PASSED [ 47%] fsspec/implementations/tests/test_local.py::test_infer_compression[open-] PASSED [ 47%] fsspec/implementations/tests/test_local.py::test_info_path_like PASSED [ 47%] fsspec/implementations/tests/test_local.py::test_seekable PASSED [ 47%] fsspec/implementations/tests/test_local.py::test_numpy_fromfile PASSED [ 47%] fsspec/implementations/tests/test_local.py::test_link PASSED [ 47%] fsspec/implementations/tests/test_local.py::test_symlink PASSED [ 47%] fsspec/implementations/tests/test_local.py::test_put_file_to_dir PASSED [ 48%] fsspec/implementations/tests/test_local.py::test_du PASSED [ 48%] fsspec/implementations/tests/test_local.py::test_cp_get_put_directory_recursive[cp] PASSED [ 48%] fsspec/implementations/tests/test_local.py::test_cp_get_put_directory_recursive[get] PASSED [ 48%] fsspec/implementations/tests/test_local.py::test_cp_get_put_directory_recursive[put] PASSED [ 48%] fsspec/implementations/tests/test_local.py::test_cp_get_put_empty_directory[cp] PASSED [ 48%] fsspec/implementations/tests/test_local.py::test_cp_get_put_empty_directory[get] PASSED [ 48%] fsspec/implementations/tests/test_local.py::test_cp_get_put_empty_directory[put] PASSED [ 48%] fsspec/implementations/tests/test_local.py::test_cp_two_files PASSED [ 48%] fsspec/implementations/tests/test_local.py::test_issue_1447 PASSED [ 48%] fsspec/implementations/tests/test_memory.py::test_1 PASSED [ 48%] fsspec/implementations/tests/test_memory.py::test_strip PASSED [ 48%] fsspec/implementations/tests/test_memory.py::test_ls PASSED [ 48%] fsspec/implementations/tests/test_memory.py::test_directories PASSED [ 48%] fsspec/implementations/tests/test_memory.py::test_exists_isdir_isfile PASSED [ 48%] fsspec/implementations/tests/test_memory.py::test_touch PASSED [ 48%] fsspec/implementations/tests/test_memory.py::test_mv_recursive PASSED [ 48%] fsspec/implementations/tests/test_memory.py::test_mv_same_paths PASSED [ 48%] fsspec/implementations/tests/test_memory.py::test_rm_no_pseudo_dir PASSED [ 49%] fsspec/implementations/tests/test_memory.py::test_rewind PASSED [ 49%] fsspec/implementations/tests/test_memory.py::test_empty_raises PASSED [ 49%] fsspec/implementations/tests/test_memory.py::test_dir_errors PASSED [ 49%] fsspec/implementations/tests/test_memory.py::test_no_rewind_append_mode PASSED [ 49%] fsspec/implementations/tests/test_memory.py::test_moves PASSED [ 49%] fsspec/implementations/tests/test_memory.py::test_rm_reursive_empty_subdir PASSED [ 49%] fsspec/implementations/tests/test_memory.py::test_seekable PASSED [ 49%] fsspec/implementations/tests/test_memory.py::test_open_mode[r] PASSED [ 49%] fsspec/implementations/tests/test_memory.py::test_open_mode[rb] PASSED [ 49%] fsspec/implementations/tests/test_memory.py::test_open_mode[w] PASSED [ 49%] fsspec/implementations/tests/test_memory.py::test_open_mode[wb] PASSED [ 49%] fsspec/implementations/tests/test_memory.py::test_open_mode[ab] PASSED [ 49%] fsspec/implementations/tests/test_memory.py::test_open_mode[r+b] PASSED [ 49%] fsspec/implementations/tests/test_memory.py::test_remove_all PASSED [ 49%] fsspec/implementations/tests/test_memory.py::test_cp_directory_recursive PASSED [ 49%] fsspec/implementations/tests/test_memory.py::test_get_directory_recursive PASSED [ 49%] fsspec/implementations/tests/test_memory.py::test_put_directory_recursive PASSED [ 49%] fsspec/implementations/tests/test_memory.py::test_cp_empty_directory PASSED [ 50%] fsspec/implementations/tests/test_memory.py::test_cp_two_files PASSED [ 50%] fsspec/implementations/tests/test_memory.py::test_open_path_posix PASSED [ 50%] fsspec/implementations/tests/test_memory.py::test_open_path_windows PASSED [ 50%] fsspec/implementations/tests/test_reference.py::test_simple FAILED [ 50%] fsspec/implementations/tests/test_reference.py::test_simple_ver1 FAILED [ 50%] fsspec/implementations/tests/test_reference.py::test_target_options PASSED [ 50%] fsspec/implementations/tests/test_reference.py::test_ls PASSED [ 50%] fsspec/implementations/tests/test_reference.py::test_nested_dirs_ls PASSED [ 50%] fsspec/implementations/tests/test_reference.py::test_info FAILED [ 50%] fsspec/implementations/tests/test_reference.py::test_mutable PASSED [ 50%] fsspec/implementations/tests/test_reference.py::test_put_get PASSED [ 50%] fsspec/implementations/tests/test_reference.py::test_put_get_single PASSED [ 50%] fsspec/implementations/tests/test_reference.py::test_defaults FAILED [ 50%] fsspec/implementations/tests/test_reference.py::test_spec1_expand PASSED [ 50%] fsspec/implementations/tests/test_reference.py::test_spec1_expand_simple PASSED [ 50%] fsspec/implementations/tests/test_reference.py::test_spec1_gen_variants PASSED [ 50%] fsspec/implementations/tests/test_reference.py::test_empty PASSED [ 50%] fsspec/implementations/tests/test_reference.py::test_get_sync PASSED [ 50%] fsspec/implementations/tests/test_reference.py::test_multi_fs_provided PASSED [ 51%] fsspec/implementations/tests/test_reference.py::test_multi_fs_created PASSED [ 51%] fsspec/implementations/tests/test_reference.py::test_missing_nonasync PASSED [ 51%] fsspec/implementations/tests/test_reference.py::test_fss_has_defaults PASSED [ 51%] fsspec/implementations/tests/test_reference.py::test_merging PASSED [ 51%] fsspec/implementations/tests/test_reference.py::test_cat_file_ranges PASSED [ 51%] fsspec/implementations/tests/test_reference.py::test_cat_missing[memory protocol] PASSED [ 51%] fsspec/implementations/tests/test_reference.py::test_cat_missing[mixed protocols: memory and unspecified] PASSED [ 51%] fsspec/implementations/tests/test_reference.py::test_df_single SKIPPED [ 51%] fsspec/implementations/tests/test_reference.py::test_df_multi SKIPPED [ 51%] fsspec/implementations/tests/test_reference.py::test_mapping_getitems PASSED [ 51%] fsspec/implementations/tests/test_reference.py::test_cached PASSED [ 51%] fsspec/implementations/tests/test_reference.py::test_append_parquet SKIPPED [ 51%] fsspec/implementations/tests/test_reference.py::test_deep_parq[fastparquet] SKIPPED [ 51%] fsspec/implementations/tests/test_reference.py::test_deep_parq[pyarrow] SKIPPED [ 51%] fsspec/implementations/tests/test_reference.py::test_parquet_no_data PASSED [ 51%] fsspec/implementations/tests/test_reference.py::test_parquet_no_references PASSED [ 51%] fsspec/implementations/tests/test_sftp.py::test_simple SKIPPED (dock...) [ 51%] fsspec/implementations/tests/test_sftp.py::test_with_url[sftp] SKIPPED [ 52%] fsspec/implementations/tests/test_sftp.py::test_with_url[ssh] SKIPPED [ 52%] fsspec/implementations/tests/test_sftp.py::test_get_dir[sftp] SKIPPED [ 52%] fsspec/implementations/tests/test_sftp.py::test_get_dir[ssh] SKIPPED [ 52%] fsspec/implementations/tests/test_sftp.py::test_put_file SKIPPED (do...) [ 52%] fsspec/implementations/tests/test_sftp.py::test_simple_with_tar SKIPPED [ 52%] fsspec/implementations/tests/test_sftp.py::test_transaction SKIPPED [ 52%] fsspec/implementations/tests/test_sftp.py::test_mkdir_create_parent[/a/b/c] SKIPPED [ 52%] fsspec/implementations/tests/test_sftp.py::test_mkdir_create_parent[a/b/c] SKIPPED [ 52%] fsspec/implementations/tests/test_sftp.py::test_makedirs_exist_ok[/a/b/c] SKIPPED [ 52%] fsspec/implementations/tests/test_sftp.py::test_makedirs_exist_ok[a/b/c] SKIPPED [ 52%] fsspec/implementations/tests/test_smb.py::test_simple[None] SKIPPED [ 52%] fsspec/implementations/tests/test_smb.py::test_auto_mkdir[None] SKIPPED [ 52%] fsspec/implementations/tests/test_smb.py::test_with_url[None] SKIPPED [ 52%] fsspec/implementations/tests/test_smb.py::test_transaction[None] SKIPPED [ 52%] fsspec/implementations/tests/test_smb.py::test_makedirs_exist_ok[None] SKIPPED [ 52%] fsspec/implementations/tests/test_smb.py::test_rename_from_upath[None] SKIPPED [ 52%] fsspec/implementations/tests/test_smb.py::test_simple[445] SKIPPED (...) [ 52%] fsspec/implementations/tests/test_smb.py::test_auto_mkdir[445] SKIPPED [ 53%] fsspec/implementations/tests/test_smb.py::test_with_url[445] SKIPPED [ 53%] fsspec/implementations/tests/test_smb.py::test_transaction[445] SKIPPED [ 53%] fsspec/implementations/tests/test_smb.py::test_makedirs_exist_ok[445] SKIPPED [ 53%] fsspec/implementations/tests/test_smb.py::test_rename_from_upath[445] SKIPPED [ 53%] fsspec/implementations/tests/test_smb.py::test_simple[9999] SKIPPED [ 53%] fsspec/implementations/tests/test_smb.py::test_auto_mkdir[9999] SKIPPED [ 53%] fsspec/implementations/tests/test_smb.py::test_with_url[9999] SKIPPED [ 53%] fsspec/implementations/tests/test_smb.py::test_transaction[9999] SKIPPED [ 53%] fsspec/implementations/tests/test_smb.py::test_makedirs_exist_ok[9999] SKIPPED [ 53%] fsspec/implementations/tests/test_smb.py::test_rename_from_upath[9999] SKIPPED [ 53%] fsspec/implementations/tests/test_tar.py::test_info PASSED [ 53%] fsspec/implementations/tests/test_tar.py::test_compressions[tar] PASSED [ 53%] fsspec/implementations/tests/test_tar.py::test_compressions[tar-gz] PASSED [ 53%] fsspec/implementations/tests/test_tar.py::test_compressions[tar-bz2] PASSED [ 53%] fsspec/implementations/tests/test_tar.py::test_compressions[tar-xz] PASSED [ 53%] fsspec/implementations/tests/test_tar.py::test_filesystem_direct[tar] PASSED [ 53%] fsspec/implementations/tests/test_tar.py::test_filesystem_direct[tar-gz] PASSED [ 53%] fsspec/implementations/tests/test_tar.py::test_filesystem_direct[tar-bz2] PASSED [ 54%] fsspec/implementations/tests/test_tar.py::test_filesystem_direct[tar-xz] PASSED [ 54%] fsspec/implementations/tests/test_tar.py::test_filesystem_cached[tar] PASSED [ 54%] fsspec/implementations/tests/test_tar.py::test_filesystem_cached[tar-gz] PASSED [ 54%] fsspec/implementations/tests/test_tar.py::test_filesystem_cached[tar-bz2] PASSED [ 54%] fsspec/implementations/tests/test_tar.py::test_filesystem_cached[tar-xz] PASSED [ 54%] fsspec/implementations/tests/test_tar.py::test_url_to_fs_direct[tar] PASSED [ 54%] fsspec/implementations/tests/test_tar.py::test_url_to_fs_direct[tar-gz] PASSED [ 54%] fsspec/implementations/tests/test_tar.py::test_url_to_fs_direct[tar-bz2] PASSED [ 54%] fsspec/implementations/tests/test_tar.py::test_url_to_fs_direct[tar-xz] PASSED [ 54%] fsspec/implementations/tests/test_tar.py::test_url_to_fs_cached[tar] PASSED [ 54%] fsspec/implementations/tests/test_tar.py::test_url_to_fs_cached[tar-gz] PASSED [ 54%] fsspec/implementations/tests/test_tar.py::test_url_to_fs_cached[tar-bz2] PASSED [ 54%] fsspec/implementations/tests/test_tar.py::test_url_to_fs_cached[tar-xz] PASSED [ 54%] fsspec/implementations/tests/test_tar.py::test_ls_with_folders[tar] PASSED [ 54%] fsspec/implementations/tests/test_tar.py::test_ls_with_folders[tar-gz] PASSED [ 54%] fsspec/implementations/tests/test_tar.py::test_ls_with_folders[tar-bz2] PASSED [ 54%] fsspec/implementations/tests/test_tar.py::test_ls_with_folders[tar-xz] PASSED [ 54%] fsspec/implementations/tests/test_webhdfs.py::test_pickle SKIPPED (h...) [ 55%] fsspec/implementations/tests/test_webhdfs.py::test_simple SKIPPED (h...) [ 55%] fsspec/implementations/tests/test_webhdfs.py::test_url SKIPPED (htcl...) [ 55%] fsspec/implementations/tests/test_webhdfs.py::test_workflow SKIPPED [ 55%] fsspec/implementations/tests/test_webhdfs.py::test_with_gzip SKIPPED [ 55%] fsspec/implementations/tests/test_webhdfs.py::test_workflow_transaction SKIPPED [ 55%] fsspec/implementations/tests/test_webhdfs.py::test_webhdfs_cp_file SKIPPED [ 55%] fsspec/implementations/tests/test_webhdfs.py::test_path_with_equals SKIPPED [ 55%] fsspec/implementations/tests/test_webhdfs.py::test_error_handling_with_equals_in_path SKIPPED [ 55%] fsspec/implementations/tests/test_webhdfs.py::test_create_and_touch_file_with_equals SKIPPED [ 55%] fsspec/implementations/tests/test_webhdfs.py::test_write_read_verify_file_with_equals SKIPPED [ 55%] fsspec/implementations/tests/test_webhdfs.py::test_protocol_prefixed_path SKIPPED [ 55%] fsspec/implementations/tests/test_zip.py::test_info PASSED [ 55%] fsspec/implementations/tests/test_zip.py::test_fsspec_get_mapper PASSED [ 55%] fsspec/implementations/tests/test_zip.py::test_not_cached PASSED [ 55%] fsspec/implementations/tests/test_zip.py::test_root_info PASSED [ 55%] fsspec/implementations/tests/test_zip.py::test_write_seek PASSED [ 55%] fsspec/implementations/tests/test_zip.py::test_rw PASSED [ 55%] fsspec/implementations/tests/test_zip.py::test_mapper PASSED [ 55%] fsspec/implementations/tests/test_zip.py::test_zip_glob_star PASSED [ 56%] fsspec/implementations/tests/test_zip.py::test_append PASSED [ 56%] fsspec/implementations/tests/test_zip.py::test_find_returns_expected_result_detail_true PASSED [ 56%] fsspec/implementations/tests/test_zip.py::test_find_returns_expected_result_detail_false PASSED [ 56%] fsspec/implementations/tests/test_zip.py::test_find_returns_expected_result_detail_true_include_dirs PASSED [ 56%] fsspec/implementations/tests/test_zip.py::test_find_returns_expected_result_detail_false_include_dirs PASSED [ 56%] fsspec/implementations/tests/test_zip.py::test_find_returns_expected_result_path_set PASSED [ 56%] fsspec/implementations/tests/test_zip.py::test_find_with_and_without_slash_should_return_same_result PASSED [ 56%] fsspec/implementations/tests/test_zip.py::test_find_should_return_file_if_exact_match PASSED [ 56%] fsspec/implementations/tests/test_zip.py::test_find_returns_expected_result_recursion_depth_set PASSED [ 56%] fsspec/tests/test_api.py::test_idempotent PASSED [ 56%] fsspec/tests/test_api.py::test_pickle PASSED [ 56%] fsspec/tests/test_api.py::test_class_methods PASSED [ 56%] fsspec/tests/test_api.py::test_multi PASSED [ 56%] fsspec/tests/test_api.py::test_get_put PASSED [ 56%] fsspec/tests/test_api.py::test_du PASSED [ 56%] fsspec/tests/test_api.py::test_head_tail PASSED [ 56%] fsspec/tests/test_api.py::test_move PASSED [ 56%] fsspec/tests/test_api.py::test_recursive_get_put PASSED [ 57%] fsspec/tests/test_api.py::test_pipe_cat PASSED [ 57%] fsspec/tests/test_api.py::test_read_block_delimiter PASSED [ 57%] fsspec/tests/test_api.py::test_open_text PASSED [ 57%] fsspec/tests/test_api.py::test_read_text PASSED [ 57%] fsspec/tests/test_api.py::test_write_text PASSED [ 57%] fsspec/tests/test_api.py::test_chained_fs PASSED [ 57%] fsspec/tests/test_api.py::test_multilevel_chained_fs XFAIL (see issu...) [ 57%] fsspec/tests/test_api.py::test_multilevel_chained_fs_zip_zip_file PASSED [ 57%] fsspec/tests/test_api.py::test_chained_equivalent PASSED [ 57%] fsspec/tests/test_api.py::test_chained_fs_multi PASSED [ 57%] fsspec/tests/test_api.py::test_chained_fo PASSED [ 57%] fsspec/tests/test_api.py::test_url_to_fs PASSED [ 57%] fsspec/tests/test_api.py::test_walk PASSED [ 57%] fsspec/tests/test_async.py::test_sync_methods PASSED [ 57%] fsspec/tests/test_async.py::test_when_sync_methods_are_disabled PASSED [ 57%] fsspec/tests/test_async.py::test_interrupt PASSED [ 57%] fsspec/tests/test_async.py::test_sync_wrapper_timeout_on_less_than_expected_wait_time_not_finish_function PASSED [ 57%] fsspec/tests/test_async.py::test_sync_wrapper_timeout_on_more_than_expected_wait_time_will_finish_function PASSED [ 58%] fsspec/tests/test_async.py::test_sync_wrapper_timeout_none_will_wait_func_finished PASSED [ 58%] fsspec/tests/test_async.py::test_sync_wrapper_treat_timeout_0_as_none PASSED [ 58%] fsspec/tests/test_async.py::test_sync_wrapper_bad_multiple_sync PASSED [ 58%] fsspec/tests/test_async.py::test_run_coros_in_chunks PASSED [ 58%] fsspec/tests/test_async.py::test_windows_policy SKIPPED (only for wi...) [ 58%] fsspec/tests/test_async.py::test_running_async PASSED [ 58%] fsspec/tests/test_async.py::test_async_streamed_file_write PASSED [ 58%] fsspec/tests/test_async.py::test_async_streamed_file_read PASSED [ 58%] fsspec/tests/test_caches.py::test_cache_getitem[BaseCache] PASSED [ 58%] fsspec/tests/test_caches.py::test_cache_getitem[none] PASSED [ 58%] fsspec/tests/test_caches.py::test_cache_getitem[mmap] PASSED [ 58%] fsspec/tests/test_caches.py::test_cache_getitem[bytes] PASSED [ 58%] fsspec/tests/test_caches.py::test_cache_getitem[readahead] PASSED [ 58%] fsspec/tests/test_caches.py::test_cache_getitem[blockcache] PASSED [ 58%] fsspec/tests/test_caches.py::test_cache_getitem[first] PASSED [ 58%] fsspec/tests/test_caches.py::test_cache_getitem[all] PASSED [ 58%] fsspec/tests/test_caches.py::test_cache_getitem[background] PASSED [ 58%] fsspec/tests/test_caches.py::test_block_cache_lru PASSED [ 59%] fsspec/tests/test_caches.py::test_first_cache PASSED [ 59%] fsspec/tests/test_caches.py::test_readahead_cache PASSED [ 59%] fsspec/tests/test_caches.py::test_cache_empty_file[BaseCache] PASSED [ 59%] fsspec/tests/test_caches.py::test_cache_empty_file[none] PASSED [ 59%] fsspec/tests/test_caches.py::test_cache_empty_file[mmap] PASSED [ 59%] fsspec/tests/test_caches.py::test_cache_empty_file[bytes] PASSED [ 59%] fsspec/tests/test_caches.py::test_cache_empty_file[readahead] PASSED [ 59%] fsspec/tests/test_caches.py::test_cache_empty_file[blockcache] PASSED [ 59%] fsspec/tests/test_caches.py::test_cache_empty_file[first] PASSED [ 59%] fsspec/tests/test_caches.py::test_cache_empty_file[all] PASSED [ 59%] fsspec/tests/test_caches.py::test_cache_empty_file[background] PASSED [ 59%] fsspec/tests/test_caches.py::test_cache_pickleable[BaseCache] PASSED [ 59%] fsspec/tests/test_caches.py::test_cache_pickleable[none] PASSED [ 59%] fsspec/tests/test_caches.py::test_cache_pickleable[mmap] PASSED [ 59%] fsspec/tests/test_caches.py::test_cache_pickleable[bytes] PASSED [ 59%] fsspec/tests/test_caches.py::test_cache_pickleable[readahead] PASSED [ 59%] fsspec/tests/test_caches.py::test_cache_pickleable[blockcache] PASSED [ 59%] fsspec/tests/test_caches.py::test_cache_pickleable[first] PASSED [ 60%] fsspec/tests/test_caches.py::test_cache_pickleable[all] PASSED [ 60%] fsspec/tests/test_caches.py::test_cache_pickleable[background] PASSED [ 60%] fsspec/tests/test_caches.py::test_cache_basic[BaseCache-1-size_requests0] PASSED [ 60%] fsspec/tests/test_caches.py::test_cache_basic[BaseCache-1-size_requests1] PASSED [ 60%] fsspec/tests/test_caches.py::test_cache_basic[BaseCache-1-size_requests2] PASSED [ 60%] fsspec/tests/test_caches.py::test_cache_basic[BaseCache-10-size_requests0] PASSED [ 60%] fsspec/tests/test_caches.py::test_cache_basic[BaseCache-10-size_requests1] PASSED [ 60%] fsspec/tests/test_caches.py::test_cache_basic[BaseCache-10-size_requests2] PASSED [ 60%] fsspec/tests/test_caches.py::test_cache_basic[BaseCache-52-size_requests0] PASSED [ 60%] fsspec/tests/test_caches.py::test_cache_basic[BaseCache-52-size_requests1] PASSED [ 60%] fsspec/tests/test_caches.py::test_cache_basic[BaseCache-52-size_requests2] PASSED [ 60%] fsspec/tests/test_caches.py::test_cache_basic[BaseCache-100-size_requests0] PASSED [ 60%] fsspec/tests/test_caches.py::test_cache_basic[BaseCache-100-size_requests1] PASSED [ 60%] fsspec/tests/test_caches.py::test_cache_basic[BaseCache-100-size_requests2] PASSED [ 60%] fsspec/tests/test_caches.py::test_cache_basic[none-1-size_requests0] PASSED [ 60%] fsspec/tests/test_caches.py::test_cache_basic[none-1-size_requests1] PASSED [ 60%] fsspec/tests/test_caches.py::test_cache_basic[none-1-size_requests2] PASSED [ 60%] fsspec/tests/test_caches.py::test_cache_basic[none-10-size_requests0] PASSED [ 61%] fsspec/tests/test_caches.py::test_cache_basic[none-10-size_requests1] PASSED [ 61%] fsspec/tests/test_caches.py::test_cache_basic[none-10-size_requests2] PASSED [ 61%] fsspec/tests/test_caches.py::test_cache_basic[none-52-size_requests0] PASSED [ 61%] fsspec/tests/test_caches.py::test_cache_basic[none-52-size_requests1] PASSED [ 61%] fsspec/tests/test_caches.py::test_cache_basic[none-52-size_requests2] PASSED [ 61%] fsspec/tests/test_caches.py::test_cache_basic[none-100-size_requests0] PASSED [ 61%] fsspec/tests/test_caches.py::test_cache_basic[none-100-size_requests1] PASSED [ 61%] fsspec/tests/test_caches.py::test_cache_basic[none-100-size_requests2] PASSED [ 61%] fsspec/tests/test_caches.py::test_cache_basic[mmap-1-size_requests0] PASSED [ 61%] fsspec/tests/test_caches.py::test_cache_basic[mmap-1-size_requests1] PASSED [ 61%] fsspec/tests/test_caches.py::test_cache_basic[mmap-1-size_requests2] PASSED [ 61%] fsspec/tests/test_caches.py::test_cache_basic[mmap-10-size_requests0] PASSED [ 61%] fsspec/tests/test_caches.py::test_cache_basic[mmap-10-size_requests1] PASSED [ 61%] fsspec/tests/test_caches.py::test_cache_basic[mmap-10-size_requests2] PASSED [ 61%] fsspec/tests/test_caches.py::test_cache_basic[mmap-52-size_requests0] PASSED [ 61%] fsspec/tests/test_caches.py::test_cache_basic[mmap-52-size_requests1] PASSED [ 61%] fsspec/tests/test_caches.py::test_cache_basic[mmap-52-size_requests2] PASSED [ 61%] fsspec/tests/test_caches.py::test_cache_basic[mmap-100-size_requests0] PASSED [ 61%] fsspec/tests/test_caches.py::test_cache_basic[mmap-100-size_requests1] PASSED [ 62%] fsspec/tests/test_caches.py::test_cache_basic[mmap-100-size_requests2] PASSED [ 62%] fsspec/tests/test_caches.py::test_cache_basic[bytes-1-size_requests0] PASSED [ 62%] fsspec/tests/test_caches.py::test_cache_basic[bytes-1-size_requests1] PASSED [ 62%] fsspec/tests/test_caches.py::test_cache_basic[bytes-1-size_requests2] PASSED [ 62%] fsspec/tests/test_caches.py::test_cache_basic[bytes-10-size_requests0] PASSED [ 62%] fsspec/tests/test_caches.py::test_cache_basic[bytes-10-size_requests1] PASSED [ 62%] fsspec/tests/test_caches.py::test_cache_basic[bytes-10-size_requests2] PASSED [ 62%] fsspec/tests/test_caches.py::test_cache_basic[bytes-52-size_requests0] PASSED [ 62%] fsspec/tests/test_caches.py::test_cache_basic[bytes-52-size_requests1] PASSED [ 62%] fsspec/tests/test_caches.py::test_cache_basic[bytes-52-size_requests2] PASSED [ 62%] fsspec/tests/test_caches.py::test_cache_basic[bytes-100-size_requests0] PASSED [ 62%] fsspec/tests/test_caches.py::test_cache_basic[bytes-100-size_requests1] PASSED [ 62%] fsspec/tests/test_caches.py::test_cache_basic[bytes-100-size_requests2] PASSED [ 62%] fsspec/tests/test_caches.py::test_cache_basic[readahead-1-size_requests0] PASSED [ 62%] fsspec/tests/test_caches.py::test_cache_basic[readahead-1-size_requests1] PASSED [ 62%] fsspec/tests/test_caches.py::test_cache_basic[readahead-1-size_requests2] PASSED [ 62%] fsspec/tests/test_caches.py::test_cache_basic[readahead-10-size_requests0] PASSED [ 62%] fsspec/tests/test_caches.py::test_cache_basic[readahead-10-size_requests1] PASSED [ 63%] fsspec/tests/test_caches.py::test_cache_basic[readahead-10-size_requests2] PASSED [ 63%] fsspec/tests/test_caches.py::test_cache_basic[readahead-52-size_requests0] PASSED [ 63%] fsspec/tests/test_caches.py::test_cache_basic[readahead-52-size_requests1] PASSED [ 63%] fsspec/tests/test_caches.py::test_cache_basic[readahead-52-size_requests2] PASSED [ 63%] fsspec/tests/test_caches.py::test_cache_basic[readahead-100-size_requests0] PASSED [ 63%] fsspec/tests/test_caches.py::test_cache_basic[readahead-100-size_requests1] PASSED [ 63%] fsspec/tests/test_caches.py::test_cache_basic[readahead-100-size_requests2] PASSED [ 63%] fsspec/tests/test_caches.py::test_cache_basic[blockcache-1-size_requests0] PASSED [ 63%] fsspec/tests/test_caches.py::test_cache_basic[blockcache-1-size_requests1] PASSED [ 63%] fsspec/tests/test_caches.py::test_cache_basic[blockcache-1-size_requests2] PASSED [ 63%] fsspec/tests/test_caches.py::test_cache_basic[blockcache-10-size_requests0] PASSED [ 63%] fsspec/tests/test_caches.py::test_cache_basic[blockcache-10-size_requests1] PASSED [ 63%] fsspec/tests/test_caches.py::test_cache_basic[blockcache-10-size_requests2] PASSED [ 63%] fsspec/tests/test_caches.py::test_cache_basic[blockcache-52-size_requests0] PASSED [ 63%] fsspec/tests/test_caches.py::test_cache_basic[blockcache-52-size_requests1] PASSED [ 63%] fsspec/tests/test_caches.py::test_cache_basic[blockcache-52-size_requests2] PASSED [ 63%] fsspec/tests/test_caches.py::test_cache_basic[blockcache-100-size_requests0] PASSED [ 63%] fsspec/tests/test_caches.py::test_cache_basic[blockcache-100-size_requests1] PASSED [ 64%] fsspec/tests/test_caches.py::test_cache_basic[blockcache-100-size_requests2] PASSED [ 64%] fsspec/tests/test_caches.py::test_cache_basic[first-1-size_requests0] PASSED [ 64%] fsspec/tests/test_caches.py::test_cache_basic[first-1-size_requests1] PASSED [ 64%] fsspec/tests/test_caches.py::test_cache_basic[first-1-size_requests2] PASSED [ 64%] fsspec/tests/test_caches.py::test_cache_basic[first-10-size_requests0] PASSED [ 64%] fsspec/tests/test_caches.py::test_cache_basic[first-10-size_requests1] PASSED [ 64%] fsspec/tests/test_caches.py::test_cache_basic[first-10-size_requests2] PASSED [ 64%] fsspec/tests/test_caches.py::test_cache_basic[first-52-size_requests0] PASSED [ 64%] fsspec/tests/test_caches.py::test_cache_basic[first-52-size_requests1] PASSED [ 64%] fsspec/tests/test_caches.py::test_cache_basic[first-52-size_requests2] PASSED [ 64%] fsspec/tests/test_caches.py::test_cache_basic[first-100-size_requests0] PASSED [ 64%] fsspec/tests/test_caches.py::test_cache_basic[first-100-size_requests1] PASSED [ 64%] fsspec/tests/test_caches.py::test_cache_basic[first-100-size_requests2] PASSED [ 64%] fsspec/tests/test_caches.py::test_cache_basic[all-1-size_requests0] PASSED [ 64%] fsspec/tests/test_caches.py::test_cache_basic[all-1-size_requests1] PASSED [ 64%] fsspec/tests/test_caches.py::test_cache_basic[all-1-size_requests2] PASSED [ 64%] fsspec/tests/test_caches.py::test_cache_basic[all-10-size_requests0] PASSED [ 64%] fsspec/tests/test_caches.py::test_cache_basic[all-10-size_requests1] PASSED [ 65%] fsspec/tests/test_caches.py::test_cache_basic[all-10-size_requests2] PASSED [ 65%] fsspec/tests/test_caches.py::test_cache_basic[all-52-size_requests0] PASSED [ 65%] fsspec/tests/test_caches.py::test_cache_basic[all-52-size_requests1] PASSED [ 65%] fsspec/tests/test_caches.py::test_cache_basic[all-52-size_requests2] PASSED [ 65%] fsspec/tests/test_caches.py::test_cache_basic[all-100-size_requests0] PASSED [ 65%] fsspec/tests/test_caches.py::test_cache_basic[all-100-size_requests1] PASSED [ 65%] fsspec/tests/test_caches.py::test_cache_basic[all-100-size_requests2] PASSED [ 65%] fsspec/tests/test_caches.py::test_cache_basic[background-1-size_requests0] PASSED [ 65%] fsspec/tests/test_caches.py::test_cache_basic[background-1-size_requests1] PASSED [ 65%] fsspec/tests/test_caches.py::test_cache_basic[background-1-size_requests2] PASSED [ 65%] fsspec/tests/test_caches.py::test_cache_basic[background-10-size_requests0] PASSED [ 65%] fsspec/tests/test_caches.py::test_cache_basic[background-10-size_requests1] PASSED [ 65%] fsspec/tests/test_caches.py::test_cache_basic[background-10-size_requests2] PASSED [ 65%] fsspec/tests/test_caches.py::test_cache_basic[background-52-size_requests0] PASSED [ 65%] fsspec/tests/test_caches.py::test_cache_basic[background-52-size_requests1] PASSED [ 65%] fsspec/tests/test_caches.py::test_cache_basic[background-52-size_requests2] PASSED [ 65%] fsspec/tests/test_caches.py::test_cache_basic[background-100-size_requests0] PASSED [ 65%] fsspec/tests/test_caches.py::test_cache_basic[background-100-size_requests1] PASSED [ 66%] fsspec/tests/test_caches.py::test_cache_basic[background-100-size_requests2] PASSED [ 66%] fsspec/tests/test_caches.py::test_known[True-True] PASSED [ 66%] fsspec/tests/test_caches.py::test_known[True-False] PASSED [ 66%] fsspec/tests/test_caches.py::test_known[False-True] PASSED [ 66%] fsspec/tests/test_caches.py::test_known[False-False] PASSED [ 66%] fsspec/tests/test_caches.py::test_background FAILED [ 66%] fsspec/tests/test_caches.py::test_register_cache PASSED [ 66%] fsspec/tests/test_caches.py::test_cache_kwargs PASSED [ 66%] fsspec/tests/test_callbacks.py::test_callbacks PASSED [ 66%] fsspec/tests/test_callbacks.py::test_callbacks_as_callback PASSED [ 66%] fsspec/tests/test_callbacks.py::test_callbacks_as_context_manager PASSED [ 66%] fsspec/tests/test_callbacks.py::test_callbacks_branched PASSED [ 66%] fsspec/tests/test_callbacks.py::test_callbacks_branch_coro PASSED [ 66%] fsspec/tests/test_callbacks.py::test_callbacks_wrap PASSED [ 66%] fsspec/tests/test_callbacks.py::test_tqdm_callback[tqdm_kwargs0] PASSED [ 66%] fsspec/tests/test_callbacks.py::test_tqdm_callback[tqdm_kwargs1] PASSED [ 66%] fsspec/tests/test_compression.py::test_infer_custom_compression PASSED [ 66%] fsspec/tests/test_compression.py::test_infer_uppercase_compression PASSED [ 66%] fsspec/tests/test_compression.py::test_lzma_compression_name PASSED [ 67%] fsspec/tests/test_compression.py::test_lz4_compression PASSED [ 67%] fsspec/tests/test_compression.py::test_zstd_compression PASSED [ 67%] fsspec/tests/test_compression.py::test_snappy_compression PASSED [ 67%] fsspec/tests/test_config.py::test_from_env_ignored PASSED [ 67%] fsspec/tests/test_config.py::test_from_env_kwargs PASSED [ 67%] fsspec/tests/test_config.py::test_from_env_protocol_dict PASSED [ 67%] fsspec/tests/test_config.py::test_from_env_kwargs_override_protocol_dict PASSED [ 67%] fsspec/tests/test_config.py::test_from_file_ini PASSED [ 67%] fsspec/tests/test_config.py::test_from_file_json PASSED [ 67%] fsspec/tests/test_config.py::test_apply PASSED [ 67%] fsspec/tests/test_core.py::test_expand_paths[path0-None-1-out0] PASSED [ 67%] fsspec/tests/test_core.py::test_expand_paths[apath.*.csv-None-1-out1] PASSED [ 67%] fsspec/tests/test_core.py::test_expand_paths[apath.*.csv-None-2-out2] PASSED [ 67%] fsspec/tests/test_core.py::test_expand_paths[a*--2-out3] PASSED [ 67%] fsspec/tests/test_core.py::test_expand_paths_if_needed_in_read_mode[create_files0-apath-out0] PASSED [ 67%] fsspec/tests/test_core.py::test_expand_paths_if_needed_in_read_mode[create_files1-apath*-out1] PASSED [ 67%] fsspec/tests/test_core.py::test_expand_paths_if_needed_in_read_mode[create_files2-apath*-out2] PASSED [ 67%] fsspec/tests/test_core.py::test_expand_paths_if_needed_in_read_mode[create_files3-apath[1]-out3] PASSED [ 68%] fsspec/tests/test_core.py::test_expand_paths_if_needed_in_read_mode[create_files4-apath?-out4] PASSED [ 68%] fsspec/tests/test_core.py::test_expand_error PASSED [ 68%] fsspec/tests/test_core.py::test_expand_fs_token_paths[w] PASSED [ 68%] fsspec/tests/test_core.py::test_expand_fs_token_paths[w+] PASSED [ 68%] fsspec/tests/test_core.py::test_expand_fs_token_paths[x] PASSED [ 68%] fsspec/tests/test_core.py::test_expand_fs_token_paths[x+] PASSED [ 68%] fsspec/tests/test_core.py::test_openfile_api PASSED [ 68%] fsspec/tests/test_core.py::test_openfile_open PASSED [ 68%] fsspec/tests/test_core.py::test_open_local_w_cache PASSED [ 68%] fsspec/tests/test_core.py::test_open_local_w_magic PASSED [ 68%] fsspec/tests/test_core.py::test_open_local_w_list_of_str PASSED [ 68%] fsspec/tests/test_core.py::test_open_local_w_path PASSED [ 68%] fsspec/tests/test_core.py::test_open_local_w_list_of_path PASSED [ 68%] fsspec/tests/test_core.py::test_xz_lzma_compressions PASSED [ 68%] fsspec/tests/test_core.py::test_list PASSED [ 68%] fsspec/tests/test_core.py::test_open_expand PASSED [ 68%] fsspec/tests/test_core.py::test_pathobject PASSED [ 68%] fsspec/tests/test_core.py::test_automkdir PASSED [ 69%] fsspec/tests/test_core.py::test_automkdir_readonly PASSED [ 69%] fsspec/tests/test_core.py::test_openfile_pickle_newline PASSED [ 69%] fsspec/tests/test_core.py::test_pickle_after_open_open PASSED [ 69%] fsspec/tests/test_core.py::test_open_file_read_with_special_characters[[] PASSED [ 69%] fsspec/tests/test_core.py::test_open_file_read_with_special_characters[]] PASSED [ 69%] fsspec/tests/test_core.py::test_open_file_read_with_special_characters[!] PASSED [ 69%] fsspec/tests/test_core.py::test_open_file_read_with_special_characters[*] PASSED [ 69%] fsspec/tests/test_core.py::test_open_file_read_with_special_characters[?] PASSED [ 69%] fsspec/tests/test_core.py::test_open_files_read_with_special_characters[[] PASSED [ 69%] fsspec/tests/test_core.py::test_open_files_read_with_special_characters[]] PASSED [ 69%] fsspec/tests/test_core.py::test_open_files_read_with_special_characters[!] PASSED [ 69%] fsspec/tests/test_core.py::test_open_files_read_with_special_characters[*] PASSED [ 69%] fsspec/tests/test_core.py::test_open_files_read_with_special_characters[?] PASSED [ 69%] fsspec/tests/test_core.py::test_open_file_write_with_special_characters[[] PASSED [ 69%] fsspec/tests/test_core.py::test_open_file_write_with_special_characters[]] PASSED [ 69%] fsspec/tests/test_core.py::test_open_file_write_with_special_characters[!] PASSED [ 69%] fsspec/tests/test_core.py::test_open_file_write_with_special_characters[*] PASSED [ 69%] fsspec/tests/test_core.py::test_open_file_write_with_special_characters[?] PASSED [ 70%] fsspec/tests/test_core.py::test_open_files_write_with_special_characters[[] PASSED [ 70%] fsspec/tests/test_core.py::test_open_files_write_with_special_characters[]] PASSED [ 70%] fsspec/tests/test_core.py::test_open_files_write_with_special_characters[!] PASSED [ 70%] fsspec/tests/test_core.py::test_open_files_write_with_special_characters[*] PASSED [ 70%] fsspec/tests/test_core.py::test_open_files_write_with_special_characters[?] PASSED [ 70%] fsspec/tests/test_core.py::test_mismatch SKIPPED (could not import '...) [ 70%] fsspec/tests/test_core.py::test_url_kwargs_chain SKIPPED (could not ...) [ 70%] fsspec/tests/test_core.py::test_multi_context PASSED [ 70%] fsspec/tests/test_core.py::test_not_local PASSED [ 70%] fsspec/tests/test_core.py::test_url_to_fs SKIPPED (could not import ...) [ 70%] fsspec/tests/test_core.py::test_target_protocol_options SKIPPED (cou...) [ 70%] fsspec/tests/test_core.py::test_chained_url SKIPPED (could not impor...) [ 70%] fsspec/tests/test_core.py::test_automkdir_local PASSED [ 70%] fsspec/tests/test_core.py::test_repeated_argument SKIPPED (could not...) [ 70%] fsspec/tests/test_file.py::test_pickle SKIPPED (could not import 'py...) [ 70%] fsspec/tests/test_file.py::test_file_read_attributes SKIPPED (could ...) [ 70%] fsspec/tests/test_file.py::test_seek SKIPPED (could not import 'pyft...) [ 70%] fsspec/tests/test_file.py::test_file_idempotent SKIPPED (could not i...) [ 71%] fsspec/tests/test_file.py::test_file_text_attributes SKIPPED (could ...) [ 71%] fsspec/tests/test_file.py::test_file_write_attributes SKIPPED (could...) [ 71%] fsspec/tests/test_file.py::test_midread_cache SKIPPED (could not imp...) [ 71%] fsspec/tests/test_file.py::test_read_block SKIPPED (could not import...) [ 71%] fsspec/tests/test_file.py::test_with_gzip SKIPPED (could not import ...) [ 71%] fsspec/tests/test_file.py::test_auto_compression PASSED [ 71%] fsspec/tests/test_file.py::test_with_zip SKIPPED (could not import '...) [ 71%] fsspec/tests/test_fuse.py::test_mount PASSED [ 71%] fsspec/tests/test_generic.py::test_remote_async_ops FAILED [ 71%] fsspec/tests/test_generic.py::test_touch_rm PASSED [ 71%] fsspec/tests/test_generic.py::test_cp_async_to_sync FAILED [ 71%] fsspec/tests/test_generic.py::test_pipe_cat_sync PASSED [ 71%] fsspec/tests/test_generic.py::test_cat_async FAILED [ 71%] fsspec/tests/test_generic.py::test_rsync PASSED [ 71%] fsspec/tests/test_mapping.py::test_mapping_prefix PASSED [ 71%] fsspec/tests/test_mapping.py::test_getitems_errors PASSED [ 71%] fsspec/tests/test_mapping.py::test_ops PASSED [ 71%] fsspec/tests/test_mapping.py::test_pickle PASSED [ 72%] fsspec/tests/test_mapping.py::test_keys_view PASSED [ 72%] fsspec/tests/test_mapping.py::test_multi PASSED [ 72%] fsspec/tests/test_mapping.py::test_setitem_types PASSED [ 72%] fsspec/tests/test_mapping.py::test_setitem_numpy PASSED [ 72%] fsspec/tests/test_mapping.py::test_empty_url PASSED [ 72%] fsspec/tests/test_mapping.py::test_fsmap_access_with_root_prefix PASSED [ 72%] fsspec/tests/test_mapping.py::test_fsmap_non_str_keys[bytes] PASSED [ 72%] fsspec/tests/test_mapping.py::test_fsmap_non_str_keys[int] PASSED [ 72%] fsspec/tests/test_mapping.py::test_fsmap_non_str_keys[tuple] PASSED [ 72%] fsspec/tests/test_mapping.py::test_fsmap_non_str_keys[list] PASSED [ 72%] fsspec/tests/test_mapping.py::test_fsmap_error_on_protocol_keys PASSED [ 72%] fsspec/tests/test_mapping.py::test_fsmap_access_with_suffix PASSED [ 72%] fsspec/tests/test_mapping.py::test_fsmap_dirfs PASSED [ 72%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-8-64-0-None] SKIPPED [ 72%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-8-64-0-columns1] SKIPPED [ 72%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-8-64-0-columns2] SKIPPED [ 72%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-8-64-0-columns3] SKIPPED [ 72%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-8-64-64-None] SKIPPED [ 72%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-8-64-64-columns1] SKIPPED [ 73%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-8-64-64-columns2] SKIPPED [ 73%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-8-64-64-columns3] SKIPPED [ 73%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-8-256000000-0-None] SKIPPED [ 73%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-8-256000000-0-columns1] SKIPPED [ 73%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-8-256000000-0-columns2] SKIPPED [ 73%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-8-256000000-0-columns3] SKIPPED [ 73%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-8-256000000-64-None] SKIPPED [ 73%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-8-256000000-64-columns1] SKIPPED [ 73%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-8-256000000-64-columns2] SKIPPED [ 73%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-8-256000000-64-columns3] SKIPPED [ 73%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-1000-64-0-None] SKIPPED [ 73%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-1000-64-0-columns1] SKIPPED [ 73%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-1000-64-0-columns2] SKIPPED [ 73%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-1000-64-0-columns3] SKIPPED [ 73%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-1000-64-64-None] SKIPPED [ 73%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-1000-64-64-columns1] SKIPPED [ 73%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-1000-64-64-columns2] SKIPPED [ 73%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-1000-64-64-columns3] SKIPPED [ 74%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-1000-256000000-0-None] SKIPPED [ 74%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-1000-256000000-0-columns1] SKIPPED [ 74%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-1000-256000000-0-columns2] SKIPPED [ 74%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-1000-256000000-0-columns3] SKIPPED [ 74%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-1000-256000000-64-None] SKIPPED [ 74%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-1000-256000000-64-columns1] SKIPPED [ 74%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-1000-256000000-64-columns2] SKIPPED [ 74%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-True-1000-256000000-64-columns3] SKIPPED [ 74%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-8-64-0-None] SKIPPED [ 74%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-8-64-0-columns1] SKIPPED [ 74%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-8-64-0-columns2] SKIPPED [ 74%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-8-64-0-columns3] SKIPPED [ 74%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-8-64-64-None] SKIPPED [ 74%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-8-64-64-columns1] SKIPPED [ 74%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-8-64-64-columns2] SKIPPED [ 74%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-8-64-64-columns3] SKIPPED [ 74%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-8-256000000-0-None] SKIPPED [ 74%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-8-256000000-0-columns1] SKIPPED [ 75%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-8-256000000-0-columns2] SKIPPED [ 75%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-8-256000000-0-columns3] SKIPPED [ 75%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-8-256000000-64-None] SKIPPED [ 75%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-8-256000000-64-columns1] SKIPPED [ 75%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-8-256000000-64-columns2] SKIPPED [ 75%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-8-256000000-64-columns3] SKIPPED [ 75%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-1000-64-0-None] SKIPPED [ 75%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-1000-64-0-columns1] SKIPPED [ 75%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-1000-64-0-columns2] SKIPPED [ 75%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-1000-64-0-columns3] SKIPPED [ 75%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-1000-64-64-None] SKIPPED [ 75%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-1000-64-64-columns1] SKIPPED [ 75%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-1000-64-64-columns2] SKIPPED [ 75%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-1000-64-64-columns3] SKIPPED [ 75%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-1000-256000000-0-None] SKIPPED [ 75%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-1000-256000000-0-columns1] SKIPPED [ 75%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-1000-256000000-0-columns2] SKIPPED [ 75%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-1000-256000000-0-columns3] SKIPPED [ 76%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-1000-256000000-64-None] SKIPPED [ 76%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-1000-256000000-64-columns1] SKIPPED [ 76%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-1000-256000000-64-columns2] SKIPPED [ 76%] fsspec/tests/test_parquet.py::test_open_parquet_file[fastparquet-False-1000-256000000-64-columns3] SKIPPED [ 76%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-8-64-0-None] SKIPPED [ 76%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-8-64-0-columns1] SKIPPED [ 76%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-8-64-0-columns2] SKIPPED [ 76%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-8-64-0-columns3] SKIPPED [ 76%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-8-64-64-None] SKIPPED [ 76%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-8-64-64-columns1] SKIPPED [ 76%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-8-64-64-columns2] SKIPPED [ 76%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-8-64-64-columns3] SKIPPED [ 76%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-8-256000000-0-None] SKIPPED [ 76%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-8-256000000-0-columns1] SKIPPED [ 76%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-8-256000000-0-columns2] SKIPPED [ 76%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-8-256000000-0-columns3] SKIPPED [ 76%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-8-256000000-64-None] SKIPPED [ 76%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-8-256000000-64-columns1] SKIPPED [ 77%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-8-256000000-64-columns2] SKIPPED [ 77%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-8-256000000-64-columns3] SKIPPED [ 77%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-1000-64-0-None] SKIPPED [ 77%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-1000-64-0-columns1] SKIPPED [ 77%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-1000-64-0-columns2] SKIPPED [ 77%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-1000-64-0-columns3] SKIPPED [ 77%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-1000-64-64-None] SKIPPED [ 77%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-1000-64-64-columns1] SKIPPED [ 77%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-1000-64-64-columns2] SKIPPED [ 77%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-1000-64-64-columns3] SKIPPED [ 77%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-1000-256000000-0-None] SKIPPED [ 77%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-1000-256000000-0-columns1] SKIPPED [ 77%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-1000-256000000-0-columns2] SKIPPED [ 77%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-1000-256000000-0-columns3] SKIPPED [ 77%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-1000-256000000-64-None] SKIPPED [ 77%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-1000-256000000-64-columns1] SKIPPED [ 77%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-1000-256000000-64-columns2] SKIPPED [ 77%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-True-1000-256000000-64-columns3] SKIPPED [ 77%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-8-64-0-None] SKIPPED [ 78%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-8-64-0-columns1] SKIPPED [ 78%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-8-64-0-columns2] SKIPPED [ 78%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-8-64-0-columns3] SKIPPED [ 78%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-8-64-64-None] SKIPPED [ 78%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-8-64-64-columns1] SKIPPED [ 78%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-8-64-64-columns2] SKIPPED [ 78%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-8-64-64-columns3] SKIPPED [ 78%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-8-256000000-0-None] SKIPPED [ 78%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-8-256000000-0-columns1] SKIPPED [ 78%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-8-256000000-0-columns2] SKIPPED [ 78%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-8-256000000-0-columns3] SKIPPED [ 78%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-8-256000000-64-None] SKIPPED [ 78%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-8-256000000-64-columns1] SKIPPED [ 78%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-8-256000000-64-columns2] SKIPPED [ 78%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-8-256000000-64-columns3] SKIPPED [ 78%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-1000-64-0-None] SKIPPED [ 78%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-1000-64-0-columns1] SKIPPED [ 78%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-1000-64-0-columns2] SKIPPED [ 79%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-1000-64-0-columns3] SKIPPED [ 79%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-1000-64-64-None] SKIPPED [ 79%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-1000-64-64-columns1] SKIPPED [ 79%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-1000-64-64-columns2] SKIPPED [ 79%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-1000-64-64-columns3] SKIPPED [ 79%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-1000-256000000-0-None] SKIPPED [ 79%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-1000-256000000-0-columns1] SKIPPED [ 79%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-1000-256000000-0-columns2] SKIPPED [ 79%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-1000-256000000-0-columns3] SKIPPED [ 79%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-1000-256000000-64-None] SKIPPED [ 79%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-1000-256000000-64-columns1] SKIPPED [ 79%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-1000-256000000-64-columns2] SKIPPED [ 79%] fsspec/tests/test_parquet.py::test_open_parquet_file[pyarrow-False-1000-256000000-64-columns3] SKIPPED [ 79%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-8-64-0-None] SKIPPED [ 79%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-8-64-0-columns1] SKIPPED [ 79%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-8-64-0-columns2] SKIPPED [ 79%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-8-64-0-columns3] SKIPPED [ 79%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-8-64-64-None] SKIPPED [ 80%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-8-64-64-columns1] SKIPPED [ 80%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-8-64-64-columns2] SKIPPED [ 80%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-8-64-64-columns3] SKIPPED [ 80%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-8-256000000-0-None] SKIPPED [ 80%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-8-256000000-0-columns1] SKIPPED [ 80%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-8-256000000-0-columns2] SKIPPED [ 80%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-8-256000000-0-columns3] SKIPPED [ 80%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-8-256000000-64-None] SKIPPED [ 80%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-8-256000000-64-columns1] SKIPPED [ 80%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-8-256000000-64-columns2] SKIPPED [ 80%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-8-256000000-64-columns3] SKIPPED [ 80%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-1000-64-0-None] SKIPPED [ 80%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-1000-64-0-columns1] SKIPPED [ 80%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-1000-64-0-columns2] SKIPPED [ 80%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-1000-64-0-columns3] SKIPPED [ 80%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-1000-64-64-None] SKIPPED [ 80%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-1000-64-64-columns1] SKIPPED [ 80%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-1000-64-64-columns2] SKIPPED [ 81%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-1000-64-64-columns3] SKIPPED [ 81%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-1000-256000000-0-None] SKIPPED [ 81%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-1000-256000000-0-columns1] SKIPPED [ 81%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-1000-256000000-0-columns2] SKIPPED [ 81%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-1000-256000000-0-columns3] SKIPPED [ 81%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-1000-256000000-64-None] SKIPPED [ 81%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-1000-256000000-64-columns1] SKIPPED [ 81%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-1000-256000000-64-columns2] SKIPPED [ 81%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-True-1000-256000000-64-columns3] SKIPPED [ 81%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-8-64-0-None] SKIPPED [ 81%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-8-64-0-columns1] SKIPPED [ 81%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-8-64-0-columns2] SKIPPED [ 81%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-8-64-0-columns3] SKIPPED [ 81%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-8-64-64-None] SKIPPED [ 81%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-8-64-64-columns1] SKIPPED [ 81%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-8-64-64-columns2] SKIPPED [ 81%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-8-64-64-columns3] SKIPPED [ 81%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-8-256000000-0-None] SKIPPED [ 82%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-8-256000000-0-columns1] SKIPPED [ 82%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-8-256000000-0-columns2] SKIPPED [ 82%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-8-256000000-0-columns3] SKIPPED [ 82%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-8-256000000-64-None] SKIPPED [ 82%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-8-256000000-64-columns1] SKIPPED [ 82%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-8-256000000-64-columns2] SKIPPED [ 82%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-8-256000000-64-columns3] SKIPPED [ 82%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-1000-64-0-None] SKIPPED [ 82%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-1000-64-0-columns1] SKIPPED [ 82%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-1000-64-0-columns2] SKIPPED [ 82%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-1000-64-0-columns3] SKIPPED [ 82%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-1000-64-64-None] SKIPPED [ 82%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-1000-64-64-columns1] SKIPPED [ 82%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-1000-64-64-columns2] SKIPPED [ 82%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-1000-64-64-columns3] SKIPPED [ 82%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-1000-256000000-0-None] SKIPPED [ 82%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-1000-256000000-0-columns1] SKIPPED [ 82%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-1000-256000000-0-columns2] SKIPPED [ 83%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-1000-256000000-0-columns3] SKIPPED [ 83%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-1000-256000000-64-None] SKIPPED [ 83%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-1000-256000000-64-columns1] SKIPPED [ 83%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-1000-256000000-64-columns2] SKIPPED [ 83%] fsspec/tests/test_parquet.py::test_open_parquet_file[auto-False-1000-256000000-64-columns3] SKIPPED [ 83%] fsspec/tests/test_registry.py::test_registry_readonly PASSED [ 83%] fsspec/tests/test_registry.py::test_register_cls PASSED [ 83%] fsspec/tests/test_registry.py::test_register_str PASSED [ 83%] fsspec/tests/test_registry.py::test_register_fail PASSED [ 83%] fsspec/tests/test_registry.py::test_entry_points_registered_on_import PASSED [ 83%] fsspec/tests/test_registry.py::test_filesystem_warning_arrow_hdfs_deprecated PASSED [ 83%] fsspec/tests/test_registry.py::test_old_s3 SKIPPED (could not import...) [ 83%] fsspec/tests/test_spec.py::test_expand_path[test_paths0-True-None-expected0] PASSED [ 83%] fsspec/tests/test_spec.py::test_expand_path[test_paths1-False-None-expected1] PASSED [ 83%] fsspec/tests/test_spec.py::test_expand_path[test_paths2-True-1-expected2] PASSED [ 83%] fsspec/tests/test_spec.py::test_expand_path[test_paths3-True-2-expected3] PASSED [ 83%] fsspec/tests/test_spec.py::test_expand_path[test_paths4-True-1-expected4] PASSED [ 83%] fsspec/tests/test_spec.py::test_expand_path[test_paths5-True-2-expected5] PASSED [ 83%] fsspec/tests/test_spec.py::test_expand_path[test_paths6-False-None-expected6] PASSED [ 84%] fsspec/tests/test_spec.py::test_expand_path[test_paths7-True-None-expected7] PASSED [ 84%] fsspec/tests/test_spec.py::test_expand_path[test_paths8-True-1-expected8] PASSED [ 84%] fsspec/tests/test_spec.py::test_expand_path[test_paths9-True-2-expected9] PASSED [ 84%] fsspec/tests/test_spec.py::test_expand_path[test_paths10-False-None-expected10] PASSED [ 84%] fsspec/tests/test_spec.py::test_expand_path[test_paths11-True-None-expected11] PASSED [ 84%] fsspec/tests/test_spec.py::test_expand_path[test_paths12-False-2-expected12] PASSED [ 84%] fsspec/tests/test_spec.py::test_expand_path[test_paths13-True-2-expected13] PASSED [ 84%] fsspec/tests/test_spec.py::test_expand_path[test_paths14-False-None-expected14] PASSED [ 84%] fsspec/tests/test_spec.py::test_expand_path[test_paths15-True-None-expected15] PASSED [ 84%] fsspec/tests/test_spec.py::test_expand_path[test_paths16-False-None-expected16] PASSED [ 84%] fsspec/tests/test_spec.py::test_expand_path[test_paths17-True-None-expected17] PASSED [ 84%] fsspec/tests/test_spec.py::test_expand_path[test_paths18-False-None-expected18] PASSED [ 84%] fsspec/tests/test_spec.py::test_expand_paths_with_wrong_args PASSED [ 84%] fsspec/tests/test_spec.py::test_find XFAIL [ 84%] fsspec/tests/test_spec.py::test_find_details PASSED [ 84%] fsspec/tests/test_spec.py::test_find_file PASSED [ 84%] fsspec/tests/test_spec.py::test_cache PASSED [ 84%] fsspec/tests/test_spec.py::test_cache_not_pickled FAILED [ 85%] fsspec/tests/test_spec.py::test_current PASSED [ 85%] fsspec/tests/test_spec.py::test_alias PASSED [ 85%] fsspec/tests/test_spec.py::test_add_docs_warns PASSED [ 85%] fsspec/tests/test_spec.py::test_cache_options PASSED [ 85%] fsspec/tests/test_spec.py::test_trim_kwarg_warns PASSED [ 85%] fsspec/tests/test_spec.py::tests_file_open_error PASSED [ 85%] fsspec/tests/test_spec.py::test_eq PASSED [ 85%] fsspec/tests/test_spec.py::test_pickle_multiple PASSED [ 85%] fsspec/tests/test_spec.py::test_json PASSED [ 85%] fsspec/tests/test_spec.py::test_json_path_attr PASSED [ 85%] fsspec/tests/test_spec.py::test_json_fs_attr PASSED [ 85%] fsspec/tests/test_spec.py::test_json_dict_attr PASSED [ 85%] fsspec/tests/test_spec.py::test_dict PASSED [ 85%] fsspec/tests/test_spec.py::test_dict_path_attr PASSED [ 85%] fsspec/tests/test_spec.py::test_dict_fs_attr PASSED [ 85%] fsspec/tests/test_spec.py::test_dict_dict_attr PASSED [ 85%] fsspec/tests/test_spec.py::test_dict_idempotent PASSED [ 85%] fsspec/tests/test_spec.py::test_dict_json_serializable PASSED [ 86%] fsspec/tests/test_spec.py::test_serialize_no_password PASSED [ 86%] fsspec/tests/test_spec.py::test_serialize_with_password PASSED [ 86%] fsspec/tests/test_spec.py::test_from_dict_valid PASSED [ 86%] fsspec/tests/test_spec.py::test_from_dict_invalid PASSED [ 86%] fsspec/tests/test_spec.py::test_ls_from_cache PASSED [ 86%] fsspec/tests/test_spec.py::test_readinto_with_numpy[int8] PASSED [ 86%] fsspec/tests/test_spec.py::test_readinto_with_numpy[int16] PASSED [ 86%] fsspec/tests/test_spec.py::test_readinto_with_numpy[int32] PASSED [ 86%] fsspec/tests/test_spec.py::test_readinto_with_numpy[int64] PASSED [ 86%] fsspec/tests/test_spec.py::test_readinto_with_numpy[uint8] PASSED [ 86%] fsspec/tests/test_spec.py::test_readinto_with_numpy[uint16] PASSED [ 86%] fsspec/tests/test_spec.py::test_readinto_with_numpy[uint32] PASSED [ 86%] fsspec/tests/test_spec.py::test_readinto_with_numpy[uint64] PASSED [ 86%] fsspec/tests/test_spec.py::test_readinto_with_numpy[float32] PASSED [ 86%] fsspec/tests/test_spec.py::test_readinto_with_numpy[float64] PASSED [ 86%] fsspec/tests/test_spec.py::test_readinto_with_multibyte[int8] SKIPPED [ 86%] fsspec/tests/test_spec.py::test_readinto_with_multibyte[int16] SKIPPED [ 86%] fsspec/tests/test_spec.py::test_readinto_with_multibyte[int32] SKIPPED [ 87%] fsspec/tests/test_spec.py::test_readinto_with_multibyte[int64] SKIPPED [ 87%] fsspec/tests/test_spec.py::test_readinto_with_multibyte[uint8] SKIPPED [ 87%] fsspec/tests/test_spec.py::test_readinto_with_multibyte[uint16] SKIPPED [ 87%] fsspec/tests/test_spec.py::test_readinto_with_multibyte[uint32] SKIPPED [ 87%] fsspec/tests/test_spec.py::test_readinto_with_multibyte[uint64] SKIPPED [ 87%] fsspec/tests/test_spec.py::test_readinto_with_multibyte[float32] SKIPPED [ 87%] fsspec/tests/test_spec.py::test_readinto_with_multibyte[float64] SKIPPED [ 87%] fsspec/tests/test_spec.py::test_dummy_callbacks_file PASSED [ 87%] fsspec/tests/test_spec.py::test_dummy_callbacks_files PASSED [ 87%] fsspec/tests/test_spec.py::test_dummy_callbacks_files_branched PASSED [ 87%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[nonexistent-expected0] PASSED [ 87%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[test0.json-expected1] PASSED [ 87%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[test0-expected2] PASSED [ 87%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[test0/-expected3] PASSED [ 87%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[test1/test0.yaml-expected4] PASSED [ 87%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[test0/test[1-2]-expected5] PASSED [ 87%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[test0/test[1-2]/-expected6] PASSED [ 87%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[test0/test[1-2]/*-expected7] PASSED [ 88%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[test0/test[1-2]/*.[j]*-expected8] PASSED [ 88%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[special_chars/f\\oo.*-expected9] PASSED [ 88%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[special_chars/f.oo.*-expected10] PASSED [ 88%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[special_chars/f+oo.*-expected11] PASSED [ 88%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[special_chars/f(oo.*-expected12] PASSED [ 88%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[special_chars/f)oo.*-expected13] PASSED [ 88%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[special_chars/f|oo.*-expected14] PASSED [ 88%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[special_chars/f^oo.*-expected15] PASSED [ 88%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[special_chars/f$oo.*-expected16] PASSED [ 88%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[special_chars/f{oo.*-expected17] PASSED [ 88%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[special_chars/f}oo.*-expected18] PASSED [ 88%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[*-expected19] PASSED [ 88%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[*.yaml-expected20] PASSED [ 88%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[**-expected21] PASSED [ 88%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[*/-expected22] PASSED [ 88%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[**/-expected23] PASSED [ 88%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[*/*.yaml-expected24] PASSED [ 88%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[**/*.yaml-expected25] PASSED [ 88%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[*/test1/*-expected26] PASSED [ 89%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[*/test1/*.yaml-expected27] PASSED [ 89%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[**/test1/*-expected28] PASSED [ 89%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[**/test1/*.yaml-expected29] PASSED [ 89%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[*/test1/*/-expected30] PASSED [ 89%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[**/test1/*/-expected31] PASSED [ 89%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[*/test1/**-expected32] PASSED [ 89%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[**/test1/**-expected33] PASSED [ 89%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[*/test1/**/-expected34] PASSED [ 89%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[**/test1/**/-expected35] PASSED [ 89%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[test0/*-expected36] PASSED [ 89%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[test0/*.yaml-expected37] PASSED [ 89%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[test0/**-expected38] PASSED [ 89%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[test0/*/-expected39] PASSED [ 89%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[test0/**/-expected40] PASSED [ 89%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[test0/*/*.yaml-expected41] PASSED [ 89%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[test0/**/*.yaml-expected42] PASSED [ 89%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[test0/*/test1/*-expected43] PASSED [ 89%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[test0/*/test1/*.yaml-expected44] PASSED [ 90%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[test0/**/test1/*-expected45] PASSED [ 90%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[test0/**/test1/*.yaml-expected46] PASSED [ 90%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[test0/*/test1/*/-expected47] PASSED [ 90%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[test0/**/test1/*/-expected48] PASSED [ 90%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[test0/*/test1/**-expected49] PASSED [ 90%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[test0/**/test1/**-expected50] PASSED [ 90%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[test0/*/test1/**/-expected51] PASSED [ 90%] fsspec/tests/test_spec.py::test_posix_tests_python_glob[test0/**/test1/**/-expected52] PASSED [ 90%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[nonexistent-expected0] PASSED [ 90%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[test0.json-expected1] PASSED [ 90%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[test0-expected2] PASSED [ 90%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[test0/-expected3] PASSED [ 90%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[test1/test0.yaml-expected4] PASSED [ 90%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[test0/test[1-2]-expected5] PASSED [ 90%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[test0/test[1-2]/-expected6] PASSED [ 90%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[test0/test[1-2]/*-expected7] PASSED [ 90%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[test0/test[1-2]/*.[j]*-expected8] PASSED [ 90%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[special_chars/f\\oo.*-expected9] PASSED [ 91%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[special_chars/f.oo.*-expected10] PASSED [ 91%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[special_chars/f+oo.*-expected11] PASSED [ 91%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[special_chars/f(oo.*-expected12] PASSED [ 91%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[special_chars/f)oo.*-expected13] PASSED [ 91%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[special_chars/f|oo.*-expected14] PASSED [ 91%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[special_chars/f^oo.*-expected15] PASSED [ 91%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[special_chars/f$oo.*-expected16] PASSED [ 91%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[special_chars/f{oo.*-expected17] PASSED [ 91%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[special_chars/f}oo.*-expected18] PASSED [ 91%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[*-expected19] PASSED [ 91%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[*.yaml-expected20] PASSED [ 91%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[**-expected21] PASSED [ 91%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[*/-expected22] PASSED [ 91%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[**/-expected23] PASSED [ 91%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[*/*.yaml-expected24] PASSED [ 91%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[**/*.yaml-expected25] PASSED [ 91%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[*/test1/*-expected26] PASSED [ 91%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[*/test1/*.yaml-expected27] PASSED [ 92%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[**/test1/*-expected28] PASSED [ 92%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[**/test1/*.yaml-expected29] PASSED [ 92%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[*/test1/*/-expected30] PASSED [ 92%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[**/test1/*/-expected31] PASSED [ 92%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[*/test1/**-expected32] PASSED [ 92%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[**/test1/**-expected33] PASSED [ 92%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[*/test1/**/-expected34] PASSED [ 92%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[**/test1/**/-expected35] PASSED [ 92%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[test0/*-expected36] PASSED [ 92%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[test0/*.yaml-expected37] PASSED [ 92%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[test0/**-expected38] PASSED [ 92%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[test0/*/-expected39] PASSED [ 92%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[test0/**/-expected40] PASSED [ 92%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[test0/*/*.yaml-expected41] PASSED [ 92%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[test0/**/*.yaml-expected42] PASSED [ 92%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[test0/*/test1/*-expected43] PASSED [ 92%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[test0/*/test1/*.yaml-expected44] PASSED [ 92%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[test0/**/test1/*-expected45] PASSED [ 93%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[test0/**/test1/*.yaml-expected46] PASSED [ 93%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[test0/*/test1/*/-expected47] PASSED [ 93%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[test0/**/test1/*/-expected48] PASSED [ 93%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[test0/*/test1/**-expected49] PASSED [ 93%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[test0/**/test1/**-expected50] PASSED [ 93%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[test0/*/test1/**/-expected51] PASSED [ 93%] fsspec/tests/test_spec.py::test_posix_tests_bash_stat[test0/**/test1/**/-expected52] PASSED [ 93%] fsspec/tests/test_spec.py::test_glob_posix_rules[nonexistent-expected0] PASSED [ 93%] fsspec/tests/test_spec.py::test_glob_posix_rules[test0.json-expected1] PASSED [ 93%] fsspec/tests/test_spec.py::test_glob_posix_rules[test0-expected2] PASSED [ 93%] fsspec/tests/test_spec.py::test_glob_posix_rules[test0/-expected3] PASSED [ 93%] fsspec/tests/test_spec.py::test_glob_posix_rules[test1/test0.yaml-expected4] PASSED [ 93%] fsspec/tests/test_spec.py::test_glob_posix_rules[test0/test[1-2]-expected5] PASSED [ 93%] fsspec/tests/test_spec.py::test_glob_posix_rules[test0/test[1-2]/-expected6] PASSED [ 93%] fsspec/tests/test_spec.py::test_glob_posix_rules[test0/test[1-2]/*-expected7] PASSED [ 93%] fsspec/tests/test_spec.py::test_glob_posix_rules[test0/test[1-2]/*.[j]*-expected8] PASSED [ 93%] fsspec/tests/test_spec.py::test_glob_posix_rules[special_chars/f\\oo.*-expected9] PASSED [ 93%] fsspec/tests/test_spec.py::test_glob_posix_rules[special_chars/f.oo.*-expected10] PASSED [ 94%] fsspec/tests/test_spec.py::test_glob_posix_rules[special_chars/f+oo.*-expected11] PASSED [ 94%] fsspec/tests/test_spec.py::test_glob_posix_rules[special_chars/f(oo.*-expected12] PASSED [ 94%] fsspec/tests/test_spec.py::test_glob_posix_rules[special_chars/f)oo.*-expected13] PASSED [ 94%] fsspec/tests/test_spec.py::test_glob_posix_rules[special_chars/f|oo.*-expected14] PASSED [ 94%] fsspec/tests/test_spec.py::test_glob_posix_rules[special_chars/f^oo.*-expected15] PASSED [ 94%] fsspec/tests/test_spec.py::test_glob_posix_rules[special_chars/f$oo.*-expected16] PASSED [ 94%] fsspec/tests/test_spec.py::test_glob_posix_rules[special_chars/f{oo.*-expected17] PASSED [ 94%] fsspec/tests/test_spec.py::test_glob_posix_rules[special_chars/f}oo.*-expected18] PASSED [ 94%] fsspec/tests/test_spec.py::test_glob_posix_rules[*-expected19] PASSED [ 94%] fsspec/tests/test_spec.py::test_glob_posix_rules[*.yaml-expected20] PASSED [ 94%] fsspec/tests/test_spec.py::test_glob_posix_rules[**-expected21] PASSED [ 94%] fsspec/tests/test_spec.py::test_glob_posix_rules[*/-expected22] PASSED [ 94%] fsspec/tests/test_spec.py::test_glob_posix_rules[**/-expected23] PASSED [ 94%] fsspec/tests/test_spec.py::test_glob_posix_rules[*/*.yaml-expected24] PASSED [ 94%] fsspec/tests/test_spec.py::test_glob_posix_rules[**/*.yaml-expected25] PASSED [ 94%] fsspec/tests/test_spec.py::test_glob_posix_rules[*/test1/*-expected26] PASSED [ 94%] fsspec/tests/test_spec.py::test_glob_posix_rules[*/test1/*.yaml-expected27] PASSED [ 94%] fsspec/tests/test_spec.py::test_glob_posix_rules[**/test1/*-expected28] PASSED [ 94%] fsspec/tests/test_spec.py::test_glob_posix_rules[**/test1/*.yaml-expected29] PASSED [ 95%] fsspec/tests/test_spec.py::test_glob_posix_rules[*/test1/*/-expected30] PASSED [ 95%] fsspec/tests/test_spec.py::test_glob_posix_rules[**/test1/*/-expected31] PASSED [ 95%] fsspec/tests/test_spec.py::test_glob_posix_rules[*/test1/**-expected32] PASSED [ 95%] fsspec/tests/test_spec.py::test_glob_posix_rules[**/test1/**-expected33] PASSED [ 95%] fsspec/tests/test_spec.py::test_glob_posix_rules[*/test1/**/-expected34] PASSED [ 95%] fsspec/tests/test_spec.py::test_glob_posix_rules[**/test1/**/-expected35] PASSED [ 95%] fsspec/tests/test_spec.py::test_glob_posix_rules[test0/*-expected36] PASSED [ 95%] fsspec/tests/test_spec.py::test_glob_posix_rules[test0/*.yaml-expected37] PASSED [ 95%] fsspec/tests/test_spec.py::test_glob_posix_rules[test0/**-expected38] PASSED [ 95%] fsspec/tests/test_spec.py::test_glob_posix_rules[test0/*/-expected39] PASSED [ 95%] fsspec/tests/test_spec.py::test_glob_posix_rules[test0/**/-expected40] PASSED [ 95%] fsspec/tests/test_spec.py::test_glob_posix_rules[test0/*/*.yaml-expected41] PASSED [ 95%] fsspec/tests/test_spec.py::test_glob_posix_rules[test0/**/*.yaml-expected42] PASSED [ 95%] fsspec/tests/test_spec.py::test_glob_posix_rules[test0/*/test1/*-expected43] PASSED [ 95%] fsspec/tests/test_spec.py::test_glob_posix_rules[test0/*/test1/*.yaml-expected44] PASSED [ 95%] fsspec/tests/test_spec.py::test_glob_posix_rules[test0/**/test1/*-expected45] PASSED [ 95%] fsspec/tests/test_spec.py::test_glob_posix_rules[test0/**/test1/*.yaml-expected46] PASSED [ 95%] fsspec/tests/test_spec.py::test_glob_posix_rules[test0/*/test1/*/-expected47] PASSED [ 96%] fsspec/tests/test_spec.py::test_glob_posix_rules[test0/**/test1/*/-expected48] PASSED [ 96%] fsspec/tests/test_spec.py::test_glob_posix_rules[test0/*/test1/**-expected49] PASSED [ 96%] fsspec/tests/test_spec.py::test_glob_posix_rules[test0/**/test1/**-expected50] PASSED [ 96%] fsspec/tests/test_spec.py::test_glob_posix_rules[test0/*/test1/**/-expected51] PASSED [ 96%] fsspec/tests/test_spec.py::test_glob_posix_rules[test0/**/test1/**/-expected52] PASSED [ 96%] fsspec/tests/test_utils.py::test_read_block PASSED [ 96%] fsspec/tests/test_utils.py::test_read_block_split_before PASSED [ 96%] fsspec/tests/test_utils.py::test_seek_delimiter_endline PASSED [ 96%] fsspec/tests/test_utils.py::test_infer_options PASSED [ 96%] fsspec/tests/test_utils.py::test_infer_simple PASSED [ 96%] fsspec/tests/test_utils.py::test_infer_storage_options_c[c:\\foo\\bar-c:\\foo\\bar] PASSED [ 96%] fsspec/tests/test_utils.py::test_infer_storage_options_c[C:\\\\foo\\bar-C:\\\\foo\\bar] PASSED [ 96%] fsspec/tests/test_utils.py::test_infer_storage_options_c[c:/foo/bar-c:/foo/bar] PASSED [ 96%] fsspec/tests/test_utils.py::test_infer_storage_options_c[file:///c|\\foo\\bar-c:\\foo\\bar] PASSED [ 96%] fsspec/tests/test_utils.py::test_infer_storage_options_c[file:///C|/foo/bar-C:/foo/bar] PASSED [ 96%] fsspec/tests/test_utils.py::test_infer_storage_options_c[file:///C:/foo/bar-C:/foo/bar] PASSED [ 96%] fsspec/tests/test_utils.py::test_common_prefix[paths0-/more] PASSED [ 96%] fsspec/tests/test_utils.py::test_common_prefix[paths1-] PASSED [ 97%] fsspec/tests/test_utils.py::test_common_prefix[paths2-/] PASSED [ 97%] fsspec/tests/test_utils.py::test_common_prefix[paths3-] PASSED [ 97%] fsspec/tests/test_utils.py::test_common_prefix[paths4-/more] PASSED [ 97%] fsspec/tests/test_utils.py::test_common_prefix[paths5-more] PASSED [ 97%] fsspec/tests/test_utils.py::test_other_paths[paths0-/path2-False-expected0] PASSED [ 97%] fsspec/tests/test_utils.py::test_other_paths[paths1-/path2-True-expected1] PASSED [ 97%] fsspec/tests/test_utils.py::test_other_paths[paths2-/path2/-True-expected2] PASSED [ 97%] fsspec/tests/test_utils.py::test_other_paths[paths3-other3-False-expected3] PASSED [ 97%] fsspec/tests/test_utils.py::test_other_paths[paths4-other4-True-expected4] PASSED [ 97%] fsspec/tests/test_utils.py::test_other_paths[paths5-/path2-False-expected5] PASSED [ 97%] fsspec/tests/test_utils.py::test_other_paths[paths6-/path2-True-expected6] PASSED [ 97%] fsspec/tests/test_utils.py::test_other_paths[paths7-/path2-False-expected7] PASSED [ 97%] fsspec/tests/test_utils.py::test_other_paths[paths8-/path2-True-expected8] PASSED [ 97%] fsspec/tests/test_utils.py::test_other_paths[paths9-/path2/-False-expected9] PASSED [ 97%] fsspec/tests/test_utils.py::test_other_paths[paths10-/path2/-True-expected10] PASSED [ 97%] fsspec/tests/test_utils.py::test_other_paths[paths11-/path2/-False-expected11] PASSED [ 97%] fsspec/tests/test_utils.py::test_other_paths[paths12-/path2/-True-expected12] PASSED [ 97%] fsspec/tests/test_utils.py::test_other_paths[paths13-dest/-False-expected13] PASSED [ 98%] fsspec/tests/test_utils.py::test_other_paths[paths14-dest/-False-expected14] PASSED [ 98%] fsspec/tests/test_utils.py::test_log PASSED [ 98%] fsspec/tests/test_utils.py::test_get_protocol[par0] PASSED [ 98%] fsspec/tests/test_utils.py::test_get_protocol[par1] PASSED [ 98%] fsspec/tests/test_utils.py::test_get_protocol[par2] PASSED [ 98%] fsspec/tests/test_utils.py::test_get_protocol[par3] PASSED [ 98%] fsspec/tests/test_utils.py::test_get_protocol[par4] PASSED [ 98%] fsspec/tests/test_utils.py::test_get_protocol[par5] PASSED [ 98%] fsspec/tests/test_utils.py::test_get_protocol[par6] PASSED [ 98%] fsspec/tests/test_utils.py::test_get_protocol[par7] PASSED [ 98%] fsspec/tests/test_utils.py::test_can_local[par0] PASSED [ 98%] fsspec/tests/test_utils.py::test_can_local[par1] PASSED [ 98%] fsspec/tests/test_utils.py::test_can_local[par2] PASSED [ 98%] fsspec/tests/test_utils.py::test_can_local[par3] PASSED [ 98%] fsspec/tests/test_utils.py::test_can_local[par4] PASSED [ 98%] fsspec/tests/test_utils.py::test_can_local[par5] PASSED [ 98%] fsspec/tests/test_utils.py::test_can_local[par6] PASSED [ 98%] fsspec/tests/test_utils.py::test_mirror_from PASSED [ 99%] fsspec/tests/test_utils.py::test_merge_offset_ranges[None-0] PASSED [ 99%] fsspec/tests/test_utils.py::test_merge_offset_ranges[None-32] PASSED [ 99%] fsspec/tests/test_utils.py::test_merge_offset_ranges[128-0] PASSED [ 99%] fsspec/tests/test_utils.py::test_merge_offset_ranges[128-32] PASSED [ 99%] fsspec/tests/test_utils.py::test_size PASSED [ 99%] fsspec/tests/test_utils.py::test_stringify_path[foo-foo] PASSED [ 99%] fsspec/tests/test_utils.py::test_stringify_path[path1-foo] PASSED [ 99%] fsspec/tests/test_utils.py::test_stringify_path[path2-foo] PASSED [ 99%] fsspec/tests/test_utils.py::test_stringify_path[path3-foo] PASSED [ 99%] fsspec/tests/test_utils.py::test_stringify_path[path4-foo] PASSED [ 99%] fsspec/tests/test_utils.py::test_stringify_path[bytes-bytes] PASSED [ 99%] fsspec/tests/test_utils.py::test_stringify_path[None-None] PASSED [ 99%] fsspec/tests/test_utils.py::test_stringify_path[1-1] PASSED [ 99%] fsspec/tests/test_utils.py::test_stringify_path[True-True] PASSED [ 99%] fsspec/tests/test_utils.py::test_stringify_path[path9-expected9] PASSED [ 99%] fsspec/tests/test_utils.py::test_stringify_path[path10-expected10] PASSED [ 99%] fsspec/tests/test_utils.py::test_stringify_path[path11-expected11] PASSED [ 99%] fsspec/tests/test_utils.py::test_stringify_path[path12-expected12] PASSED [100%] =================================== FAILURES =================================== __________________________________ test_list ___________________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_list(server): h = fsspec.filesystem("http") > out = h.glob(server.address + "/index/*") /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:494: in _glob allpaths = await self._find( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:848: in _find if withdirs and path != "" and await self._isdir(path): /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:521: in _isdir return bool(await self._ls(path)) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:207: in _ls out = await self._ls_real(url, detail=detail, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:159: in _ls_real async with session.get(self.encode_url(url), **self.kwargs) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError _______________________________ test_list_cache ________________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_list_cache(server): h = fsspec.filesystem("http", use_listings_cache=True) > out = h.glob(server.address + "/index/*") /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:31: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:494: in _glob allpaths = await self._find( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:848: in _find if withdirs and path != "" and await self._isdir(path): /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:521: in _isdir return bool(await self._ls(path)) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:207: in _ls out = await self._ls_real(url, detail=detail, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:159: in _ls_real async with session.get(self.encode_url(url), **self.kwargs) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError ___________________ test_list_cache_with_expiry_time_cached ____________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_list_cache_with_expiry_time_cached(server): h = fsspec.filesystem("http", use_listings_cache=True, listings_expiry_time=30) # First, the directory cache is not initialized. assert not h.dircache # By querying the filesystem with "use_listings_cache=True", # the cache will automatically get populated. > out = h.glob(server.address + "/index/*") /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:43: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:494: in _glob allpaths = await self._find( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:848: in _find if withdirs and path != "" and await self._isdir(path): /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:521: in _isdir return bool(await self._ls(path)) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:207: in _ls out = await self._ls_real(url, detail=detail, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:159: in _ls_real async with session.get(self.encode_url(url), **self.kwargs) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError ___________________ test_list_cache_with_expiry_time_purged ____________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_list_cache_with_expiry_time_purged(server): h = fsspec.filesystem("http", use_listings_cache=True, listings_expiry_time=0.3) # First, the directory cache is not initialized. assert not h.dircache # By querying the filesystem with "use_listings_cache=True", # the cache will automatically get populated. > out = h.glob(server.address + "/index/*") /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:61: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:494: in _glob allpaths = await self._find( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:848: in _find if withdirs and path != "" and await self._isdir(path): /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:521: in _isdir return bool(await self._ls(path)) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:207: in _ls out = await self._ls_real(url, detail=detail, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:159: in _ls_real async with session.get(self.encode_url(url), **self.kwargs) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError ____________________________ test_list_cache_reuse _____________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_list_cache_reuse(server): h = fsspec.filesystem("http", use_listings_cache=True, listings_expiry_time=5) # First, the directory cache is not initialized. assert not h.dircache # By querying the filesystem with "use_listings_cache=True", # the cache will automatically get populated. > out = h.glob(server.address + "/index/*") /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:92: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:494: in _glob allpaths = await self._find( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:848: in _find if withdirs and path != "" and await self._isdir(path): /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:521: in _isdir return bool(await self._ls(path)) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:207: in _ls out = await self._ls_real(url, detail=detail, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:159: in _ls_real async with session.get(self.encode_url(url), **self.kwargs) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError _________________________ test_ls_raises_filenotfound __________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_ls_raises_filenotfound(server): h = fsspec.filesystem("http") with pytest.raises(FileNotFoundError): > h.ls(server.address + "/not-a-key") /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:117: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:207: in _ls out = await self._ls_real(url, detail=detail, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:159: in _ls_real async with session.get(self.encode_url(url), **self.kwargs) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError ________________________ test_list_cache_with_max_paths ________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_list_cache_with_max_paths(server): h = fsspec.filesystem("http", use_listings_cache=True, max_paths=5) > out = h.glob(server.address + "/index/*") /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:122: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:494: in _glob allpaths = await self._find( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:848: in _find if withdirs and path != "" and await self._isdir(path): /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:521: in _isdir return bool(await self._ls(path)) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:207: in _ls out = await self._ls_real(url, detail=detail, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:159: in _ls_real async with session.get(self.encode_url(url), **self.kwargs) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError ___________________ test_list_cache_with_skip_instance_cache ___________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_list_cache_with_skip_instance_cache(server): h = fsspec.filesystem("http", use_listings_cache=True, skip_instance_cache=True) > out = h.glob(server.address + "/index/*") /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:128: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:494: in _glob allpaths = await self._find( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:848: in _find if withdirs and path != "" and await self._isdir(path): /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:521: in _isdir return bool(await self._ls(path)) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:207: in _ls out = await self._ls_real(url, detail=detail, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:159: in _ls_real async with session.get(self.encode_url(url), **self.kwargs) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError _________________________ test_glob_return_subfolders __________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_glob_return_subfolders(server): h = fsspec.filesystem("http") > out = h.glob(server.address + "/simple/*") /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:494: in _glob allpaths = await self._find( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:848: in _find if withdirs and path != "" and await self._isdir(path): /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:521: in _isdir return bool(await self._ls(path)) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:207: in _ls out = await self._ls_real(url, detail=detail, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:159: in _ls_real async with session.get(self.encode_url(url), **self.kwargs) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError __________________________________ test_isdir __________________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_isdir(server): h = fsspec.filesystem("http") > assert h.isdir(server.address + "/index/") /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:143: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:521: in _isdir return bool(await self._ls(path)) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:207: in _ls out = await self._ls_real(url, detail=detail, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:159: in _ls_real async with session.get(self.encode_url(url), **self.kwargs) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError _______________________________ test_policy_arg ________________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_policy_arg(server): h = fsspec.filesystem("http", size_policy="get") > out = h.glob(server.address + "/index/*") /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:494: in _glob allpaths = await self._find( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:848: in _find if withdirs and path != "" and await self._isdir(path): /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:521: in _isdir return bool(await self._ls(path)) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:207: in _ls out = await self._ls_real(url, detail=detail, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:159: in _ls_real async with session.get(self.encode_url(url), **self.kwargs) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError _________________________________ test_exists __________________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_exists(server): h = fsspec.filesystem("http") assert not h.exists(server.address + "/notafile") with pytest.raises(FileNotFoundError): > h.cat(server.address + "/notafile") /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:158: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:465: in _cat raise ex /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:245: in _run_coro return await asyncio.wait_for(coro, timeout=timeout), i /usr/lib64/python3.13/asyncio/tasks.py:507: in wait_for return await fut /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:234: in _cat_file async with session.get(self.encode_url(url), **kw) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError __________________________________ test_read ___________________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( > await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:427: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:815: in _file_info r = await session.get(url, allow_redirects=ar, **kwargs) /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_read(server): h = fsspec.filesystem("http") out = server.realfile > with h.open(out, "rb") as f: /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:164: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/spec.py:1310: in open f = self._open( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:366: in _open size = size or info.update(self.info(path, **kwargs)) or info["size"] /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) if info.get("size") is not None: break except Exception as exc: if policy == "get": # If get failed, then raise a FileNotFoundError > raise FileNotFoundError(url) from exc E FileNotFoundError: http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:440: FileNotFoundError _______________________________ test_file_pickle _______________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( > await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:427: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:815: in _file_info r = await session.get(url, allow_redirects=ar, **kwargs) /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_file_pickle(server): import pickle # via HTTPFile h = fsspec.filesystem("http", headers={"give_length": "true", "head_ok": "true"}) out = server.realfile > with fsspec.open(out, headers={"give_length": "true", "head_ok": "true"}) as f: /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:179: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/core.py:105: in __enter__ f = self.fs.open(self.path, mode=mode) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/spec.py:1310: in open f = self._open( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:366: in _open size = size or info.update(self.info(path, **kwargs)) or info["size"] /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) if info.get("size") is not None: break except Exception as exc: if policy == "get": # If get failed, then raise a FileNotFoundError > raise FileNotFoundError(url) from exc E FileNotFoundError: http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:440: FileNotFoundError _________________________________ test_methods _________________________________ server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_methods(server): h = fsspec.filesystem("http") url = server.realfile > assert h.exists(url) E AssertionError: assert False E + where False = ('http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') E + where = .exists /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:202: AssertionError _________________________ test_random_access[headers0] _________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( > await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:427: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:815: in _file_info r = await session.get(url, allow_redirects=ar, **kwargs) /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') headers = {} @pytest.mark.parametrize( "headers", [ {}, {"give_length": "true"}, {"give_length": "true", "head_ok": "true"}, {"give_range": "true"}, {"give_length": "true", "head_not_auth": "true"}, {"give_range": "true", "head_not_auth": "true"}, {"use_206": "true", "head_ok": "true", "head_give_length": "true"}, {"use_206": "true", "give_length": "true"}, {"use_206": "true", "give_range": "true"}, ], ) def test_random_access(server, headers): h = fsspec.filesystem("http", headers=headers) url = server.realfile > with h.open(url, "rb") as f: /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/spec.py:1310: in open f = self._open( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:366: in _open size = size or info.update(self.info(path, **kwargs)) or info["size"] /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) if info.get("size") is not None: break except Exception as exc: if policy == "get": # If get failed, then raise a FileNotFoundError > raise FileNotFoundError(url) from exc E FileNotFoundError: http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:440: FileNotFoundError _________________________ test_random_access[headers1] _________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( > await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:427: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:815: in _file_info r = await session.get(url, allow_redirects=ar, **kwargs) /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') headers = {'give_length': 'true'} @pytest.mark.parametrize( "headers", [ {}, {"give_length": "true"}, {"give_length": "true", "head_ok": "true"}, {"give_range": "true"}, {"give_length": "true", "head_not_auth": "true"}, {"give_range": "true", "head_not_auth": "true"}, {"use_206": "true", "head_ok": "true", "head_give_length": "true"}, {"use_206": "true", "give_length": "true"}, {"use_206": "true", "give_range": "true"}, ], ) def test_random_access(server, headers): h = fsspec.filesystem("http", headers=headers) url = server.realfile > with h.open(url, "rb") as f: /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/spec.py:1310: in open f = self._open( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:366: in _open size = size or info.update(self.info(path, **kwargs)) or info["size"] /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) if info.get("size") is not None: break except Exception as exc: if policy == "get": # If get failed, then raise a FileNotFoundError > raise FileNotFoundError(url) from exc E FileNotFoundError: http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:440: FileNotFoundError _________________________ test_random_access[headers2] _________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( > await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:427: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:815: in _file_info r = await session.get(url, allow_redirects=ar, **kwargs) /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') headers = {'give_length': 'true', 'head_ok': 'true'} @pytest.mark.parametrize( "headers", [ {}, {"give_length": "true"}, {"give_length": "true", "head_ok": "true"}, {"give_range": "true"}, {"give_length": "true", "head_not_auth": "true"}, {"give_range": "true", "head_not_auth": "true"}, {"use_206": "true", "head_ok": "true", "head_give_length": "true"}, {"use_206": "true", "give_length": "true"}, {"use_206": "true", "give_range": "true"}, ], ) def test_random_access(server, headers): h = fsspec.filesystem("http", headers=headers) url = server.realfile > with h.open(url, "rb") as f: /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/spec.py:1310: in open f = self._open( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:366: in _open size = size or info.update(self.info(path, **kwargs)) or info["size"] /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) if info.get("size") is not None: break except Exception as exc: if policy == "get": # If get failed, then raise a FileNotFoundError > raise FileNotFoundError(url) from exc E FileNotFoundError: http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:440: FileNotFoundError _________________________ test_random_access[headers3] _________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( > await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:427: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:815: in _file_info r = await session.get(url, allow_redirects=ar, **kwargs) /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') headers = {'give_range': 'true'} @pytest.mark.parametrize( "headers", [ {}, {"give_length": "true"}, {"give_length": "true", "head_ok": "true"}, {"give_range": "true"}, {"give_length": "true", "head_not_auth": "true"}, {"give_range": "true", "head_not_auth": "true"}, {"use_206": "true", "head_ok": "true", "head_give_length": "true"}, {"use_206": "true", "give_length": "true"}, {"use_206": "true", "give_range": "true"}, ], ) def test_random_access(server, headers): h = fsspec.filesystem("http", headers=headers) url = server.realfile > with h.open(url, "rb") as f: /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/spec.py:1310: in open f = self._open( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:366: in _open size = size or info.update(self.info(path, **kwargs)) or info["size"] /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) if info.get("size") is not None: break except Exception as exc: if policy == "get": # If get failed, then raise a FileNotFoundError > raise FileNotFoundError(url) from exc E FileNotFoundError: http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:440: FileNotFoundError _________________________ test_random_access[headers4] _________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( > await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:427: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:815: in _file_info r = await session.get(url, allow_redirects=ar, **kwargs) /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') headers = {'give_length': 'true', 'head_not_auth': 'true'} @pytest.mark.parametrize( "headers", [ {}, {"give_length": "true"}, {"give_length": "true", "head_ok": "true"}, {"give_range": "true"}, {"give_length": "true", "head_not_auth": "true"}, {"give_range": "true", "head_not_auth": "true"}, {"use_206": "true", "head_ok": "true", "head_give_length": "true"}, {"use_206": "true", "give_length": "true"}, {"use_206": "true", "give_range": "true"}, ], ) def test_random_access(server, headers): h = fsspec.filesystem("http", headers=headers) url = server.realfile > with h.open(url, "rb") as f: /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/spec.py:1310: in open f = self._open( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:366: in _open size = size or info.update(self.info(path, **kwargs)) or info["size"] /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) if info.get("size") is not None: break except Exception as exc: if policy == "get": # If get failed, then raise a FileNotFoundError > raise FileNotFoundError(url) from exc E FileNotFoundError: http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:440: FileNotFoundError _________________________ test_random_access[headers5] _________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( > await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:427: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:815: in _file_info r = await session.get(url, allow_redirects=ar, **kwargs) /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') headers = {'give_range': 'true', 'head_not_auth': 'true'} @pytest.mark.parametrize( "headers", [ {}, {"give_length": "true"}, {"give_length": "true", "head_ok": "true"}, {"give_range": "true"}, {"give_length": "true", "head_not_auth": "true"}, {"give_range": "true", "head_not_auth": "true"}, {"use_206": "true", "head_ok": "true", "head_give_length": "true"}, {"use_206": "true", "give_length": "true"}, {"use_206": "true", "give_range": "true"}, ], ) def test_random_access(server, headers): h = fsspec.filesystem("http", headers=headers) url = server.realfile > with h.open(url, "rb") as f: /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/spec.py:1310: in open f = self._open( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:366: in _open size = size or info.update(self.info(path, **kwargs)) or info["size"] /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) if info.get("size") is not None: break except Exception as exc: if policy == "get": # If get failed, then raise a FileNotFoundError > raise FileNotFoundError(url) from exc E FileNotFoundError: http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:440: FileNotFoundError _________________________ test_random_access[headers6] _________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( > await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:427: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:815: in _file_info r = await session.get(url, allow_redirects=ar, **kwargs) /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') headers = {'head_give_length': 'true', 'head_ok': 'true', 'use_206': 'true'} @pytest.mark.parametrize( "headers", [ {}, {"give_length": "true"}, {"give_length": "true", "head_ok": "true"}, {"give_range": "true"}, {"give_length": "true", "head_not_auth": "true"}, {"give_range": "true", "head_not_auth": "true"}, {"use_206": "true", "head_ok": "true", "head_give_length": "true"}, {"use_206": "true", "give_length": "true"}, {"use_206": "true", "give_range": "true"}, ], ) def test_random_access(server, headers): h = fsspec.filesystem("http", headers=headers) url = server.realfile > with h.open(url, "rb") as f: /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/spec.py:1310: in open f = self._open( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:366: in _open size = size or info.update(self.info(path, **kwargs)) or info["size"] /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) if info.get("size") is not None: break except Exception as exc: if policy == "get": # If get failed, then raise a FileNotFoundError > raise FileNotFoundError(url) from exc E FileNotFoundError: http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:440: FileNotFoundError _________________________ test_random_access[headers7] _________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( > await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:427: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:815: in _file_info r = await session.get(url, allow_redirects=ar, **kwargs) /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') headers = {'give_length': 'true', 'use_206': 'true'} @pytest.mark.parametrize( "headers", [ {}, {"give_length": "true"}, {"give_length": "true", "head_ok": "true"}, {"give_range": "true"}, {"give_length": "true", "head_not_auth": "true"}, {"give_range": "true", "head_not_auth": "true"}, {"use_206": "true", "head_ok": "true", "head_give_length": "true"}, {"use_206": "true", "give_length": "true"}, {"use_206": "true", "give_range": "true"}, ], ) def test_random_access(server, headers): h = fsspec.filesystem("http", headers=headers) url = server.realfile > with h.open(url, "rb") as f: /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/spec.py:1310: in open f = self._open( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:366: in _open size = size or info.update(self.info(path, **kwargs)) or info["size"] /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) if info.get("size") is not None: break except Exception as exc: if policy == "get": # If get failed, then raise a FileNotFoundError > raise FileNotFoundError(url) from exc E FileNotFoundError: http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:440: FileNotFoundError _________________________ test_random_access[headers8] _________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( > await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:427: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:815: in _file_info r = await session.get(url, allow_redirects=ar, **kwargs) /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') headers = {'give_range': 'true', 'use_206': 'true'} @pytest.mark.parametrize( "headers", [ {}, {"give_length": "true"}, {"give_length": "true", "head_ok": "true"}, {"give_range": "true"}, {"give_length": "true", "head_not_auth": "true"}, {"give_range": "true", "head_not_auth": "true"}, {"use_206": "true", "head_ok": "true", "head_give_length": "true"}, {"use_206": "true", "give_length": "true"}, {"use_206": "true", "give_range": "true"}, ], ) def test_random_access(server, headers): h = fsspec.filesystem("http", headers=headers) url = server.realfile > with h.open(url, "rb") as f: /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/spec.py:1310: in open f = self._open( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:366: in _open size = size or info.update(self.info(path, **kwargs)) or info["size"] /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) if info.get("size") is not None: break except Exception as exc: if policy == "get": # If get failed, then raise a FileNotFoundError > raise FileNotFoundError(url) from exc E FileNotFoundError: http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:440: FileNotFoundError _______________________ test_no_range_support[headers0] ________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( > await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:427: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:815: in _file_info r = await session.get(url, allow_redirects=ar, **kwargs) /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') headers = {'head_give_length': 'true', 'head_ok': 'true'} @pytest.mark.parametrize( "headers", [ # HTTPFile seeks, response headers lack size, assumed no range support {"head_ok": "true", "head_give_length": "true"}, # HTTPFile seeks, response is not a range {"ignore_range": "true", "give_length": "true"}, {"ignore_range": "true", "give_range": "true"}, # HTTPStreamFile does not seek (past 0) {"accept_range": "none", "head_ok": "true", "give_length": "true"}, ], ) def test_no_range_support(server, headers): h = fsspec.filesystem("http", headers=headers) url = server.realfile > with h.open(url, "rb") as f: /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:252: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/spec.py:1310: in open f = self._open( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:366: in _open size = size or info.update(self.info(path, **kwargs)) or info["size"] /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) if info.get("size") is not None: break except Exception as exc: if policy == "get": # If get failed, then raise a FileNotFoundError > raise FileNotFoundError(url) from exc E FileNotFoundError: http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:440: FileNotFoundError _______________________ test_no_range_support[headers1] ________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( > await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:427: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:815: in _file_info r = await session.get(url, allow_redirects=ar, **kwargs) /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') headers = {'give_length': 'true', 'ignore_range': 'true'} @pytest.mark.parametrize( "headers", [ # HTTPFile seeks, response headers lack size, assumed no range support {"head_ok": "true", "head_give_length": "true"}, # HTTPFile seeks, response is not a range {"ignore_range": "true", "give_length": "true"}, {"ignore_range": "true", "give_range": "true"}, # HTTPStreamFile does not seek (past 0) {"accept_range": "none", "head_ok": "true", "give_length": "true"}, ], ) def test_no_range_support(server, headers): h = fsspec.filesystem("http", headers=headers) url = server.realfile > with h.open(url, "rb") as f: /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:252: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/spec.py:1310: in open f = self._open( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:366: in _open size = size or info.update(self.info(path, **kwargs)) or info["size"] /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) if info.get("size") is not None: break except Exception as exc: if policy == "get": # If get failed, then raise a FileNotFoundError > raise FileNotFoundError(url) from exc E FileNotFoundError: http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:440: FileNotFoundError _______________________ test_no_range_support[headers2] ________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( > await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:427: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:815: in _file_info r = await session.get(url, allow_redirects=ar, **kwargs) /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') headers = {'give_range': 'true', 'ignore_range': 'true'} @pytest.mark.parametrize( "headers", [ # HTTPFile seeks, response headers lack size, assumed no range support {"head_ok": "true", "head_give_length": "true"}, # HTTPFile seeks, response is not a range {"ignore_range": "true", "give_length": "true"}, {"ignore_range": "true", "give_range": "true"}, # HTTPStreamFile does not seek (past 0) {"accept_range": "none", "head_ok": "true", "give_length": "true"}, ], ) def test_no_range_support(server, headers): h = fsspec.filesystem("http", headers=headers) url = server.realfile > with h.open(url, "rb") as f: /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:252: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/spec.py:1310: in open f = self._open( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:366: in _open size = size or info.update(self.info(path, **kwargs)) or info["size"] /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) if info.get("size") is not None: break except Exception as exc: if policy == "get": # If get failed, then raise a FileNotFoundError > raise FileNotFoundError(url) from exc E FileNotFoundError: http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:440: FileNotFoundError _______________________ test_no_range_support[headers3] ________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( > await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:427: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:815: in _file_info r = await session.get(url, allow_redirects=ar, **kwargs) /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') headers = {'accept_range': 'none', 'give_length': 'true', 'head_ok': 'true'} @pytest.mark.parametrize( "headers", [ # HTTPFile seeks, response headers lack size, assumed no range support {"head_ok": "true", "head_give_length": "true"}, # HTTPFile seeks, response is not a range {"ignore_range": "true", "give_length": "true"}, {"ignore_range": "true", "give_range": "true"}, # HTTPStreamFile does not seek (past 0) {"accept_range": "none", "head_ok": "true", "give_length": "true"}, ], ) def test_no_range_support(server, headers): h = fsspec.filesystem("http", headers=headers) url = server.realfile > with h.open(url, "rb") as f: /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:252: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/spec.py:1310: in open f = self._open( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:366: in _open size = size or info.update(self.info(path, **kwargs)) or info["size"] /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) if info.get("size") is not None: break except Exception as exc: if policy == "get": # If get failed, then raise a FileNotFoundError > raise FileNotFoundError(url) from exc E FileNotFoundError: http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:440: FileNotFoundError _______________________________ test_stream_seek _______________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( > await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:427: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:815: in _file_info r = await session.get(url, allow_redirects=ar, **kwargs) /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_stream_seek(server): h = fsspec.filesystem("http") url = server.realfile > with h.open(url, "rb") as f: /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:266: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/spec.py:1310: in open f = self._open( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:366: in _open size = size or info.update(self.info(path, **kwargs)) or info["size"] /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) if info.get("size") is not None: break except Exception as exc: if policy == "get": # If get failed, then raise a FileNotFoundError > raise FileNotFoundError(url) from exc E FileNotFoundError: http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:440: FileNotFoundError _______________________________ test_mapper_url ________________________________ server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_mapper_url(server): h = fsspec.filesystem("http") mapper = h.get_mapper(server.address + "/index/") assert mapper.root.startswith("http:") > assert list(mapper) E assert [] E + where [] = list() /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:280: AssertionError ___________________________ test_content_length_zero ___________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( > await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:427: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:815: in _file_info r = await session.get(url, allow_redirects=ar, **kwargs) /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_content_length_zero(server): h = fsspec.filesystem( "http", headers={"give_length": "true", "zero_length": "true"} ) url = server.realfile > with h.open(url, "rb") as f: /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:293: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/spec.py:1310: in open f = self._open( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:366: in _open size = size or info.update(self.info(path, **kwargs)) or info["size"] /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) if info.get("size") is not None: break except Exception as exc: if policy == "get": # If get failed, then raise a FileNotFoundError > raise FileNotFoundError(url) from exc E FileNotFoundError: http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:440: FileNotFoundError __________________________ test_content_encoding_gzip __________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( > await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:427: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:815: in _file_info r = await session.get(url, allow_redirects=ar, **kwargs) /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_content_encoding_gzip(server): h = fsspec.filesystem( "http", headers={"give_length": "true", "gzip_encoding": "true"} ) url = server.realfile > with h.open(url, "rb") as f: /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:303: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/spec.py:1310: in open f = self._open( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:366: in _open size = size or info.update(self.info(path, **kwargs)) or info["size"] /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) if info.get("size") is not None: break except Exception as exc: if policy == "get": # If get failed, then raise a FileNotFoundError > raise FileNotFoundError(url) from exc E FileNotFoundError: http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:440: FileNotFoundError ________________________________ test_download _________________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/test_download0') def test_download(server, tmpdir): h = fsspec.filesystem("http", headers={"give_length": "true", "head_ok": "true "}) url = server.realfile fn = os.path.join(tmpdir, "afile") > h.get(url, fn) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:639: in _get p for p in rpaths if not (trailing_sep(p) or await self._isdir(p)) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:521: in _isdir return bool(await self._ls(path)) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:207: in _ls out = await self._ls_real(url, detail=detail, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:159: in _ls_real async with session.get(self.encode_url(url), **self.kwargs) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError _____________________________ test_multi_download ______________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: in _create_direct_connection hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:964: in _resolve_host await future /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/test_multi_download0') def test_multi_download(server, tmpdir): h = fsspec.filesystem("http", headers={"give_length": "true", "head_ok": "true "}) urla = server.realfile urlb = server.address + "/index/otherfile" fna = os.path.join(tmpdir, "afile") fnb = os.path.join(tmpdir, "bfile") > h.get([urla, urlb], [fna, fnb]) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:323: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:669: in _get return await _run_coros_in_chunks( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:268: in _run_coros_in_chunks result, k = await done.pop() /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:245: in _run_coro return await asyncio.wait_for(coro, timeout=timeout), i /usr/lib64/python3.13/asyncio/tasks.py:507: in wait_for return await fut /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/callbacks.py:81: in func return await fn(path1, path2, callback=child, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:246: in _get_file async with session.get(self.encode_url(rpath), **kw) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError ___________________________________ test_ls ____________________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_ls(server): h = fsspec.filesystem("http") > l = h.ls(server.address + "/data/20020401/", detail=False) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:330: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:207: in _ls out = await self._ls_real(url, detail=detail, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:159: in _ls_real async with session.get(self.encode_url(url), **self.kwargs) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError __________________________________ test_mcat ___________________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: in _create_direct_connection hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:964: in _resolve_host await future /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_mcat(server): h = fsspec.filesystem("http", headers={"give_length": "true", "head_ok": "true "}) urla = server.realfile urlb = server.address + "/index/otherfile" > out = h.cat([urla, urlb]) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:342: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:465: in _cat raise ex /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:245: in _run_coro return await asyncio.wait_for(coro, timeout=timeout), i /usr/lib64/python3.13/asyncio/tasks.py:507: in wait_for return await fut /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:234: in _cat_file async with session.get(self.encode_url(url), **kw) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError _____________________________ test_cat_file_range ______________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_cat_file_range(server): h = fsspec.filesystem("http", headers={"give_length": "true", "head_ok": "true "}) urla = server.realfile > assert h.cat(urla, start=1, end=10) == data[1:10] /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:349: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:465: in _cat raise ex /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:245: in _run_coro return await asyncio.wait_for(coro, timeout=timeout), i /usr/lib64/python3.13/asyncio/tasks.py:507: in wait_for return await fut /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:234: in _cat_file async with session.get(self.encode_url(url), **kw) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError __________________________ test_cat_file_range_numpy ___________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_cat_file_range_numpy(server): np = pytest.importorskip("numpy") h = fsspec.filesystem("http", headers={"give_length": "true", "head_ok": "true "}) urla = server.realfile > assert h.cat(urla, start=np.int8(1), end=np.int8(10)) == data[1:10] /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:362: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:465: in _cat raise ex /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:245: in _run_coro return await asyncio.wait_for(coro, timeout=timeout), i /usr/lib64/python3.13/asyncio/tasks.py:507: in wait_for return await fut /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:234: in _cat_file async with session.get(self.encode_url(url), **kw) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError _______________________________ test_mcat_cache ________________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: in _create_direct_connection hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:964: in _resolve_host await future /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_mcat_cache(server): urla = server.realfile urlb = server.address + "/index/otherfile" fs = fsspec.filesystem("simplecache", target_protocol="http") > assert fs.cat([urla, urlb]) == {urla: data, urlb: data} /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:371: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/cached.py:446: in return lambda *args, **kw: getattr(type(self), item).__get__(self)( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/cached.py:639: in cat self.fs.get(getpaths, storepaths) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:669: in _get return await _run_coros_in_chunks( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:268: in _run_coros_in_chunks result, k = await done.pop() /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:245: in _run_coro return await asyncio.wait_for(coro, timeout=timeout), i /usr/lib64/python3.13/asyncio/tasks.py:507: in wait_for return await fut /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/callbacks.py:81: in func return await fn(path1, path2, callback=child, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:246: in _get_file async with session.get(self.encode_url(rpath), **kw) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError _______________________________ test_mcat_expand _______________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_mcat_expand(server): h = fsspec.filesystem("http", headers={"give_length": "true", "head_ok": "true "}) > out = h.cat(server.address + "/index/*") /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:376: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:456: in _cat paths = await self._expand_path(path, recursive=recursive) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:871: in _expand_path out = await self._expand_path([path], recursive, maxdepth) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:877: in _expand_path bit = set(await self._glob(p, maxdepth=maxdepth)) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:494: in _glob allpaths = await self._find( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:848: in _find if withdirs and path != "" and await self._isdir(path): /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:521: in _isdir return bool(await self._ls(path)) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:207: in _ls out = await self._ls_real(url, detail=detail, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:159: in _ls_real async with session.get(self.encode_url(url), **self.kwargs) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError __________________________________ test_info ___________________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( > await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:427: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:815: in _file_info r = await session.get(url, allow_redirects=ar, **kwargs) /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_info(server): fs = fsspec.filesystem("http", headers={"give_etag": "true", "head_ok": "true"}) > info = fs.info(server.realfile) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:382: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) if info.get("size") is not None: break except Exception as exc: if policy == "get": # If get failed, then raise a FileNotFoundError > raise FileNotFoundError(url) from exc E FileNotFoundError: http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:440: FileNotFoundError _____________________________ test_put_file[POST] ______________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') tmp_path = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/test_put_file_POST_0') method = 'POST', reset_files = None @pytest.mark.parametrize("method", ["POST", "PUT"]) def test_put_file(server, tmp_path, method, reset_files): src_file = tmp_path / "file_1" src_file.write_bytes(data) dwl_file = tmp_path / "down_1" fs = fsspec.filesystem("http", headers={"head_ok": "true", "give_length": "true"}) with pytest.raises(FileNotFoundError): fs.info(server.address + "/hey") > fs.put_file(src_file, server.address + "/hey", method=method) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:405: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:316: in _put_file async with meth(self.encode_url(rpath), data=gen_chunks(), **kw) as resp: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError ______________________________ test_put_file[PUT] ______________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') tmp_path = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/test_put_file_PUT_0') method = 'PUT', reset_files = None @pytest.mark.parametrize("method", ["POST", "PUT"]) def test_put_file(server, tmp_path, method, reset_files): src_file = tmp_path / "file_1" src_file.write_bytes(data) dwl_file = tmp_path / "down_1" fs = fsspec.filesystem("http", headers={"head_ok": "true", "give_length": "true"}) with pytest.raises(FileNotFoundError): fs.info(server.address + "/hey") > fs.put_file(src_file, server.address + "/hey", method=method) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:405: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:316: in _put_file async with meth(self.encode_url(rpath), data=gen_chunks(), **kw) as resp: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError ___________________________ test_async_other_thread ____________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_async_other_thread(server): import threading loop = asyncio.get_event_loop() th = threading.Thread(target=loop.run_forever) th.daemon = True th.start() fs = fsspec.filesystem("http", asynchronous=True, loop=loop) asyncio.run_coroutine_threadsafe(fs.set_session(), loop=loop).result() url = server.realfile cor = fs._cat([url]) fut = asyncio.run_coroutine_threadsafe(cor, loop=loop) > assert fut.result() == {url: data} /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:456: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/concurrent/futures/_base.py:456: in result return self.__get_result() /usr/lib64/python3.13/concurrent/futures/_base.py:401: in __get_result raise self._exception /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:465: in _cat raise ex /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:245: in _run_coro return await asyncio.wait_for(coro, timeout=timeout), i /usr/lib64/python3.13/asyncio/tasks.py:507: in wait_for return await fut /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:234: in _cat_file async with session.get(self.encode_url(url), **kw) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError ____________________________ test_async_this_thread ____________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_async_this_thread(server): async def _(): fs = fsspec.filesystem("http", asynchronous=True) session = await fs.set_session() # creates client url = server.realfile with pytest.raises((NotImplementedError, RuntimeError)): fs.cat([url]) out = await fs._cat([url]) del fs assert out == {url: data} await session.close() > asyncio.run(_()) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:474: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/asyncio/runners.py:195: in run return runner.run(main) /usr/lib64/python3.13/asyncio/runners.py:118: in run return self._loop.run_until_complete(task) /usr/lib64/python3.13/asyncio/base_events.py:725: in run_until_complete return future.result() /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:469: in _ out = await fs._cat([url]) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:465: in _cat raise ex /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:245: in _run_coro return await asyncio.wait_for(coro, timeout=timeout), i /usr/lib64/python3.13/asyncio/tasks.py:507: in wait_for return await fut /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:234: in _cat_file async with session.get(self.encode_url(url), **kw) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError ____________________________ test_processes[spawn] _____________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') method = 'spawn' @pytest.mark.parametrize("method", ["spawn", "forkserver"]) def test_processes(server, method): import multiprocessing as mp if win and method != "spawn": pytest.skip("Windows can only spawn") ctx = mp.get_context(method) fn = server.realfile fs = fsspec.filesystem("http") q = ctx.Queue() p = ctx.Process(target=_inner_pass, args=(fs, q, fn)) p.start() out = q.get() > assert out == fs.cat(fn) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:503: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:465: in _cat raise ex /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:245: in _run_coro return await asyncio.wait_for(coro, timeout=timeout), i /usr/lib64/python3.13/asyncio/tasks.py:507: in wait_for return await fut /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:234: in _cat_file async with session.get(self.encode_url(url), **kw) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError __________________________ test_processes[forkserver] __________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') method = 'forkserver' @pytest.mark.parametrize("method", ["spawn", "forkserver"]) def test_processes(server, method): import multiprocessing as mp if win and method != "spawn": pytest.skip("Windows can only spawn") ctx = mp.get_context(method) fn = server.realfile fs = fsspec.filesystem("http") q = ctx.Queue() p = ctx.Process(target=_inner_pass, args=(fs, q, fn)) p.start() out = q.get() > assert out == fs.cat(fn) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:503: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:465: in _cat raise ex /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:245: in _run_coro return await asyncio.wait_for(coro, timeout=timeout), i /usr/lib64/python3.13/asyncio/tasks.py:507: in wait_for return await fut /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:234: in _cat_file async with session.get(self.encode_url(url), **kw) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError _______________________________ test_async_file ________________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') @pytest.mark.asyncio async def test_async_file(server): fs = fsspec.filesystem("http", asynchronous=True, skip_instance_cache=True) fn = server.realfile of = await fs.open_async(fn) async with of as f: > out1 = await f.read(10) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:519: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:765: in read r = await self.session.get( /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError _________________________________ test_encoded _________________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_encoded(server): fs = fsspec.filesystem("http", encoded=True) > out = fs.cat( server.address + "/Hello%3A%20G%C3%BCnter", headers={"give_path": "true"} ) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:528: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:465: in _cat raise ex /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:245: in _run_coro return await asyncio.wait_for(coro, timeout=timeout), i /usr/lib64/python3.13/asyncio/tasks.py:507: in wait_for return await fut /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:234: in _cat_file async with session.get(self.encode_url(url), **kw) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError _______________________________ test_with_cache ________________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( > await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:427: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:815: in _file_info r = await session.get(url, allow_redirects=ar, **kwargs) /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') def test_with_cache(server): fs = fsspec.filesystem("http", headers={"head_ok": "true", "give_length": "true"}) fn = server.realfile fs1 = fsspec.filesystem("blockcache", fs=fs) > with fs1.open(fn, "rb") as f: /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:544: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/cached.py:446: in return lambda *args, **kw: getattr(type(self), item).__get__(self)( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/spec.py:1310: in open f = self._open( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/cached.py:446: in return lambda *args, **kw: getattr(type(self), item).__get__(self)( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/cached.py:340: in _open f = self.fs._open( /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:366: in _open size = size or info.update(self.info(path, **kwargs)) or info["size"] /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:103: in sync raise return_result /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:56: in _runner result[0] = await coro _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) if info.get("size") is not None: break except Exception as exc: if policy == "get": # If get failed, then raise a FileNotFoundError > raise FileNotFoundError(url) from exc E FileNotFoundError: http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:440: FileNotFoundError ____________________________ test_async_expand_path ____________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34293 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') @pytest.mark.asyncio async def test_async_expand_path(server): fs = fsspec.filesystem("http", asynchronous=True, skip_instance_cache=True) # maxdepth=1 > assert await fs._expand_path( server.address + "/index", recursive=True, maxdepth=1 ) == [ server.address + "/index", server.address + "/index/realfile", ] /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:554: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:871: in _expand_path out = await self._expand_path([path], recursive, maxdepth) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:894: in _expand_path rec = set(await self._find(p, maxdepth=maxdepth, withdirs=True)) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/asyn.py:848: in _find if withdirs and path != "" and await self._isdir(path): /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:521: in _isdir return bool(await self._ls(path)) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:207: in _ls out = await self._ls_real(url, detail=detail, **kwargs) /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/http.py:159: in _ls_real async with session.get(self.encode_url(url), **self.kwargs) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34293 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError _______________________________ test_async_walk ________________________________ server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34293', realfile='http://67d218506ac04dabb70e34146dbc3b85:34293/index/realfile') @pytest.mark.asyncio async def test_async_walk(server): fs = fsspec.filesystem("http", asynchronous=True, skip_instance_cache=True) # No maxdepth res = [a async for a in fs._walk(server.address + "/index")] > assert res == [(server.address + "/index", [], ["realfile"])] E AssertionError: assert [('http://67d...dex', [], [])] == [('http://67d...['realfile'])] E E At index 0 diff: ('http://67d218506ac04dabb70e34146dbc3b85:34293/index', [], []) != ('http://67d218506ac04dabb70e34146dbc3b85:34293/index', [], ['realfile']) E E Full diff: E [ E ( E 'http://67d218506ac04dabb70e34146dbc3b85:34293/index',... E E ...Full output truncated (8 lines hidden), use '-vv' to show /builddir/build/BUILD/python-fsspec-2024.12.0-build/filesystem_spec-2024.12.0/fsspec/implementations/tests/test_http.py:576: AssertionError _________________________________ test_simple __________________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34833 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: coro = , i = 0 async def _run_coro(coro, i): try: > return await asyncio.wait_for(coro, timeout=timeout), i fsspec/asyn.py:245: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/asyncio/tasks.py:507: in wait_for return await fut fsspec/implementations/http.py:234: in _cat_file async with session.get(self.encode_url(url), **kw) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34833 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34833', realfile='http://67d218506ac04dabb70e34146dbc3b85:34833/index/realfile') def test_simple(server): # The dictionary in refs may be dumped with a different separator # depending on whether json or ujson is imported from fsspec.implementations.reference import json as json_impl refs = { "a": b"data", "b": (server.realfile, 0, 5), "c": (server.realfile, 1, 5), "d": b"base64:aGVsbG8=", "e": {"key": "value"}, } h = fsspec.filesystem("http") fs = fsspec.filesystem("reference", fo=refs, fs=h) assert fs.cat("a") == b"data" > assert fs.cat("b") == data[:5] fsspec/implementations/tests/test_reference.py:32: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = path = 'b', recursive = False, on_error = 'raise', kwargs = {} proto_dict = {'http': ['b']} out = {'b': ClientConnectorDNSError(ConnectionKey(host='67d218506ac04dabb70e34146dbc3b85', port=34833, is_ssl=False, ssl=True, proxy=None, proxy_auth=None, proxy_headers_hash=None), gaierror(-3, 'Temporary failure in name resolution'))} proto = 'http', paths = ['b'] fs = urls = ['http://67d218506ac04dabb70e34146dbc3b85:34833/index/realfile'] starts = [0] def cat(self, path, recursive=False, on_error="raise", **kwargs): if isinstance(path, str) and recursive: raise NotImplementedError if isinstance(path, list) and (recursive or any("*" in p for p in path)): raise NotImplementedError # TODO: if references is lazy, pre-fetch all paths in batch before access proto_dict = _protocol_groups(path, self.references) out = {} for proto, paths in proto_dict.items(): fs = self.fss[proto] urls, starts, ends, valid_paths = [], [], [], [] for p in paths: # find references or label not-found. Early exit if any not # found and on_error is "raise" try: u, s, e = self._cat_common(p) if not isinstance(u, (bytes, str)): # nan/None from parquet continue except FileNotFoundError as err: if on_error == "raise": raise if on_error != "omit": out[p] = err else: urls.append(u) starts.append(s) ends.append(e) valid_paths.append(p) # process references into form for merging urls2 = [] starts2 = [] ends2 = [] paths2 = [] whole_files = set() for u, s, e, p in zip(urls, starts, ends, valid_paths): if isinstance(u, bytes): # data out[p] = u elif s is None: # whole file - limits are None, None, but no further # entries take for this file whole_files.add(u) urls2.append(u) starts2.append(s) ends2.append(e) paths2.append(p) for u, s, e, p in zip(urls, starts, ends, valid_paths): # second run to account for files that are to be loaded whole if s is not None and u not in whole_files: urls2.append(u) starts2.append(s) ends2.append(e) paths2.append(p) # merge and fetch consolidated ranges new_paths, new_starts, new_ends = merge_offset_ranges( list(urls2), list(starts2), list(ends2), sort=True, max_gap=self.max_gap, max_block=self.max_block, ) bytes_out = fs.cat_ranges(new_paths, new_starts, new_ends) # unbundle from merged bytes - simple approach for u, s, e, p in zip(urls, starts, ends, valid_paths): if p in out: continue # was bytes, already handled for np, ns, ne, b in zip(new_paths, new_starts, new_ends, bytes_out): if np == u and (ns is None or ne is None): if isinstance(b, Exception): out[p] = b else: out[p] = b[s:e] elif np == u and s >= ns and e <= ne: if isinstance(b, Exception): out[p] = b else: out[p] = b[s - ns : (e - ne) or None] for k, v in out.copy().items(): # these were valid references, but fetch failed, so transform exc if isinstance(v, Exception) and k in self.references: ex = out[k] new_ex = ReferenceNotReachable(k, self.references[k]) new_ex.__cause__ = ex if on_error == "raise": > raise new_ex E fsspec.implementations.reference.ReferenceNotReachable: Reference "b" failed to fetch target ('http://67d218506ac04dabb70e34146dbc3b85:34833/index/realfile', 0, 5) fsspec/implementations/reference.py:958: ReferenceNotReachable _______________________________ test_simple_ver1 _______________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34833 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: coro = , i = 0 async def _run_coro(coro, i): try: > return await asyncio.wait_for(coro, timeout=timeout), i fsspec/asyn.py:245: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/asyncio/tasks.py:507: in wait_for return await fut fsspec/implementations/http.py:234: in _cat_file async with session.get(self.encode_url(url), **kw) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34833 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34833', realfile='http://67d218506ac04dabb70e34146dbc3b85:34833/index/realfile') def test_simple_ver1(server): # The dictionary in refs may be dumped with a different separator # depending on whether json or ujson is imported from fsspec.implementations.reference import json as json_impl in_data = { "version": 1, "refs": { "a": b"data", "b": (server.realfile, 0, 5), "c": (server.realfile, 1, 5), "d": b"base64:aGVsbG8=", "e": {"key": "value"}, }, } h = fsspec.filesystem("http") fs = fsspec.filesystem("reference", fo=in_data, fs=h) assert fs.cat("a") == b"data" > assert fs.cat("b") == data[:5] fsspec/implementations/tests/test_reference.py:59: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = path = 'b', recursive = False, on_error = 'raise', kwargs = {} proto_dict = {'http': ['b']} out = {'b': ClientConnectorDNSError(ConnectionKey(host='67d218506ac04dabb70e34146dbc3b85', port=34833, is_ssl=False, ssl=True, proxy=None, proxy_auth=None, proxy_headers_hash=None), gaierror(-3, 'Temporary failure in name resolution'))} proto = 'http', paths = ['b'] fs = urls = ['http://67d218506ac04dabb70e34146dbc3b85:34833/index/realfile'] starts = [0] def cat(self, path, recursive=False, on_error="raise", **kwargs): if isinstance(path, str) and recursive: raise NotImplementedError if isinstance(path, list) and (recursive or any("*" in p for p in path)): raise NotImplementedError # TODO: if references is lazy, pre-fetch all paths in batch before access proto_dict = _protocol_groups(path, self.references) out = {} for proto, paths in proto_dict.items(): fs = self.fss[proto] urls, starts, ends, valid_paths = [], [], [], [] for p in paths: # find references or label not-found. Early exit if any not # found and on_error is "raise" try: u, s, e = self._cat_common(p) if not isinstance(u, (bytes, str)): # nan/None from parquet continue except FileNotFoundError as err: if on_error == "raise": raise if on_error != "omit": out[p] = err else: urls.append(u) starts.append(s) ends.append(e) valid_paths.append(p) # process references into form for merging urls2 = [] starts2 = [] ends2 = [] paths2 = [] whole_files = set() for u, s, e, p in zip(urls, starts, ends, valid_paths): if isinstance(u, bytes): # data out[p] = u elif s is None: # whole file - limits are None, None, but no further # entries take for this file whole_files.add(u) urls2.append(u) starts2.append(s) ends2.append(e) paths2.append(p) for u, s, e, p in zip(urls, starts, ends, valid_paths): # second run to account for files that are to be loaded whole if s is not None and u not in whole_files: urls2.append(u) starts2.append(s) ends2.append(e) paths2.append(p) # merge and fetch consolidated ranges new_paths, new_starts, new_ends = merge_offset_ranges( list(urls2), list(starts2), list(ends2), sort=True, max_gap=self.max_gap, max_block=self.max_block, ) bytes_out = fs.cat_ranges(new_paths, new_starts, new_ends) # unbundle from merged bytes - simple approach for u, s, e, p in zip(urls, starts, ends, valid_paths): if p in out: continue # was bytes, already handled for np, ns, ne, b in zip(new_paths, new_starts, new_ends, bytes_out): if np == u and (ns is None or ne is None): if isinstance(b, Exception): out[p] = b else: out[p] = b[s:e] elif np == u and s >= ns and e <= ne: if isinstance(b, Exception): out[p] = b else: out[p] = b[s - ns : (e - ne) or None] for k, v in out.copy().items(): # these were valid references, but fetch failed, so transform exc if isinstance(v, Exception) and k in self.references: ex = out[k] new_ex = ReferenceNotReachable(k, self.references[k]) new_ex.__cause__ = ex if on_error == "raise": > raise new_ex E fsspec.implementations.reference.ReferenceNotReachable: Reference "b" failed to fetch target ('http://67d218506ac04dabb70e34146dbc3b85:34833/index/realfile', 0, 5) fsspec/implementations/reference.py:958: ReferenceNotReachable __________________________________ test_info ___________________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34833 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34833/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( > await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) fsspec/implementations/http.py:427: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ fsspec/implementations/http.py:815: in _file_info r = await session.get(url, allow_redirects=ar, **kwargs) /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34833 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34833', realfile='http://67d218506ac04dabb70e34146dbc3b85:34833/index/realfile') def test_info(server): refs = { "a": b"data", "b": (server.realfile, 0, 5), "c/d": (server.realfile, 1, 6), "e": (server.realfile,), } h = fsspec.filesystem("http", headers={"give_length": "true", "head_ok": "true"}) fs = fsspec.filesystem("reference", fo=refs, fs=h) assert fs.size("a") == 4 assert fs.size("b") == 5 assert fs.size("c/d") == 6 > assert fs.info("e")["size"] == len(data) fsspec/implementations/tests/test_reference.py:114: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ fsspec/implementations/reference.py:1177: in info out0[0]["size"] = self.fss[prot].size(self.references[path][0]) fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) fsspec/asyn.py:103: in sync raise return_result fsspec/asyn.py:56: in _runner result[0] = await coro fsspec/asyn.py:686: in _size return (await self._info(path)).get("size", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = url = 'http://67d218506ac04dabb70e34146dbc3b85:34833/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) if info.get("size") is not None: break except Exception as exc: if policy == "get": # If get failed, then raise a FileNotFoundError > raise FileNotFoundError(url) from exc E FileNotFoundError: http://67d218506ac04dabb70e34146dbc3b85:34833/index/realfile fsspec/implementations/http.py:440: FileNotFoundError ________________________________ test_defaults _________________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 34833 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: coro = , i = 0 async def _run_coro(coro, i): try: > return await asyncio.wait_for(coro, timeout=timeout), i fsspec/asyn.py:245: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/asyncio/tasks.py:507: in wait_for return await fut fsspec/implementations/http.py:234: in _cat_file async with session.get(self.encode_url(url), **kw) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:34833 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:34833', realfile='http://67d218506ac04dabb70e34146dbc3b85:34833/index/realfile') def test_defaults(server): refs = {"a": b"data", "b": (None, 0, 5)} fs = fsspec.filesystem( "reference", fo=refs, target_protocol="http", target=server.realfile, remote_protocol="http", ) assert fs.cat("a") == b"data" > assert fs.cat("b") == data[:5] fsspec/implementations/tests/test_reference.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = path = 'b', recursive = False, on_error = 'raise', kwargs = {} proto_dict = {None: ['b']} out = {'b': ClientConnectorDNSError(ConnectionKey(host='67d218506ac04dabb70e34146dbc3b85', port=34833, is_ssl=False, ssl=True, proxy=None, proxy_auth=None, proxy_headers_hash=None), gaierror(-3, 'Temporary failure in name resolution'))} proto = None, paths = ['b'] fs = urls = ['http://67d218506ac04dabb70e34146dbc3b85:34833/index/realfile'] starts = [0] def cat(self, path, recursive=False, on_error="raise", **kwargs): if isinstance(path, str) and recursive: raise NotImplementedError if isinstance(path, list) and (recursive or any("*" in p for p in path)): raise NotImplementedError # TODO: if references is lazy, pre-fetch all paths in batch before access proto_dict = _protocol_groups(path, self.references) out = {} for proto, paths in proto_dict.items(): fs = self.fss[proto] urls, starts, ends, valid_paths = [], [], [], [] for p in paths: # find references or label not-found. Early exit if any not # found and on_error is "raise" try: u, s, e = self._cat_common(p) if not isinstance(u, (bytes, str)): # nan/None from parquet continue except FileNotFoundError as err: if on_error == "raise": raise if on_error != "omit": out[p] = err else: urls.append(u) starts.append(s) ends.append(e) valid_paths.append(p) # process references into form for merging urls2 = [] starts2 = [] ends2 = [] paths2 = [] whole_files = set() for u, s, e, p in zip(urls, starts, ends, valid_paths): if isinstance(u, bytes): # data out[p] = u elif s is None: # whole file - limits are None, None, but no further # entries take for this file whole_files.add(u) urls2.append(u) starts2.append(s) ends2.append(e) paths2.append(p) for u, s, e, p in zip(urls, starts, ends, valid_paths): # second run to account for files that are to be loaded whole if s is not None and u not in whole_files: urls2.append(u) starts2.append(s) ends2.append(e) paths2.append(p) # merge and fetch consolidated ranges new_paths, new_starts, new_ends = merge_offset_ranges( list(urls2), list(starts2), list(ends2), sort=True, max_gap=self.max_gap, max_block=self.max_block, ) bytes_out = fs.cat_ranges(new_paths, new_starts, new_ends) # unbundle from merged bytes - simple approach for u, s, e, p in zip(urls, starts, ends, valid_paths): if p in out: continue # was bytes, already handled for np, ns, ne, b in zip(new_paths, new_starts, new_ends, bytes_out): if np == u and (ns is None or ne is None): if isinstance(b, Exception): out[p] = b else: out[p] = b[s:e] elif np == u and s >= ns and e <= ne: if isinstance(b, Exception): out[p] = b else: out[p] = b[s - ns : (e - ne) or None] for k, v in out.copy().items(): # these were valid references, but fetch failed, so transform exc if isinstance(v, Exception) and k in self.references: ex = out[k] new_ex = ReferenceNotReachable(k, self.references[k]) new_ex.__cause__ = ex if on_error == "raise": > raise new_ex E fsspec.implementations.reference.ReferenceNotReachable: Reference "b" failed to fetch target (None, 0, 5) fsspec/implementations/reference.py:958: ReferenceNotReachable _______________________________ test_background ________________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 44735 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: self = url = 'http://67d218506ac04dabb70e34146dbc3b85:44735/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( > await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) fsspec/implementations/http.py:427: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ fsspec/implementations/http.py:815: in _file_info r = await session.get(url, allow_redirects=ar, **kwargs) /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:44735 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:44735', realfile='http://67d218506ac04dabb70e34146dbc3b85:44735/index/realfile') monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0xffff9e799010> def test_background(server, monkeypatch): import threading import time import fsspec head = {"head_ok": "true", "head_give_length": "true"} urla = server.realfile h = fsspec.filesystem("http", headers=head) thread_ids = {threading.current_thread().ident} > f = h.open(urla, block_size=5, cache_type="background") fsspec/tests/test_caches.py:221: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ fsspec/spec.py:1310: in open f = self._open( fsspec/implementations/http.py:366: in _open size = size or info.update(self.info(path, **kwargs)) or info["size"] fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) fsspec/asyn.py:103: in sync raise return_result fsspec/asyn.py:56: in _runner result[0] = await coro _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = url = 'http://67d218506ac04dabb70e34146dbc3b85:44735/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) if info.get("size") is not None: break except Exception as exc: if policy == "get": # If get failed, then raise a FileNotFoundError > raise FileNotFoundError(url) from exc E FileNotFoundError: http://67d218506ac04dabb70e34146dbc3b85:44735/index/realfile fsspec/implementations/http.py:440: FileNotFoundError ____________________________ test_remote_async_ops _____________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 44687 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: self = url = 'http://67d218506ac04dabb70e34146dbc3b85:44687/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( > await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) fsspec/implementations/http.py:427: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ fsspec/implementations/http.py:815: in _file_info r = await session.get(url, allow_redirects=ar, **kwargs) /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:44687 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:44687', realfile='http://67d218506ac04dabb70e34146dbc3b85:44687/index/realfile') def test_remote_async_ops(server): fsspec.filesystem("http", headers={"give_length": "true", "head_ok": "true"}) fs = fsspec.filesystem("generic", default_method="current") > out = fs.info(server.realfile) fsspec/tests/test_generic.py:10: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) fsspec/asyn.py:103: in sync raise return_result fsspec/asyn.py:56: in _runner result[0] = await coro fsspec/generic.py:211: in _info out = await fs._info(url, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = url = 'http://67d218506ac04dabb70e34146dbc3b85:44687/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) if info.get("size") is not None: break except Exception as exc: if policy == "get": # If get failed, then raise a FileNotFoundError > raise FileNotFoundError(url) from exc E FileNotFoundError: http://67d218506ac04dabb70e34146dbc3b85:44687/index/realfile fsspec/implementations/http.py:440: FileNotFoundError ____________________________ test_cp_async_to_sync _____________________________ self = path = '/realfile', start = None, end = None, kwargs = {} def cat_file(self, path, start=None, end=None, **kwargs): logger.debug("cat: %s", path) path = self._strip_protocol(path) try: > return bytes(self.store[path].getbuffer()[start:end]) E KeyError: '/realfile' fsspec/implementations/memory.py:231: KeyError The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:44687', realfile='http://67d218506ac04dabb70e34146dbc3b85:44687/index/realfile') m = def test_cp_async_to_sync(server, m): fsspec.filesystem("http", headers={"give_length": "true", "head_ok": "true"}) fs = fsspec.filesystem("generic", default_method="current") fs.cp([server.realfile], ["memory://realfile"]) > assert m.cat("realfile") == data fsspec/tests/test_generic.py:33: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ fsspec/spec.py:884: in cat return self.cat_file(paths[0], **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = path = '/realfile', start = None, end = None, kwargs = {} def cat_file(self, path, start=None, end=None, **kwargs): logger.debug("cat: %s", path) path = self._strip_protocol(path) try: return bytes(self.store[path].getbuffer()[start:end]) except KeyError as e: > raise FileNotFoundError(path) from e E FileNotFoundError: /realfile fsspec/implementations/memory.py:233: FileNotFoundError ________________________________ test_cat_async ________________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 44687 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:44687', realfile='http://67d218506ac04dabb70e34146dbc3b85:44687/index/realfile') def test_cat_async(server): fsspec.filesystem("http", headers={"give_length": "true", "head_ok": "true"}) fs = fsspec.filesystem("generic", default_method="current") > assert fs.cat(server.realfile) == data fsspec/tests/test_generic.py:48: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) fsspec/asyn.py:103: in sync raise return_result fsspec/asyn.py:56: in _runner result[0] = await coro fsspec/asyn.py:465: in _cat raise ex fsspec/asyn.py:245: in _run_coro return await asyncio.wait_for(coro, timeout=timeout), i /usr/lib64/python3.13/asyncio/tasks.py:507: in wait_for return await fut fsspec/generic.py:244: in _cat_file return await fs._cat_file(url, **kwargs) fsspec/implementations/http.py:234: in _cat_file async with session.get(self.encode_url(url), **kw) as r: /usr/lib64/python3.13/site-packages/aiohttp/client.py:1360: in __aenter__ self._resp: _RetType = await self._coro /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:44687 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError ____________________________ test_cache_not_pickled ____________________________ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. > hosts = await self._resolve_host(host, port, traces=traces) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/site-packages/aiohttp/connector.py:989: in _resolve_host return await asyncio.shield(resolved_host_task) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1020: in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) /usr/lib64/python3.13/site-packages/aiohttp/resolver.py:38: in resolve infos = await self._loop.getaddrinfo( /usr/lib64/python3.13/asyncio/base_events.py:939: in getaddrinfo return await self.run_in_executor( /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = '67d218506ac04dabb70e34146dbc3b85', port = 43265 family = , type = proto = 0, flags = def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.13/socket.py:977: gaierror The above exception was the direct cause of the following exception: self = url = 'http://67d218506ac04dabb70e34146dbc3b85:43265/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( > await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) fsspec/implementations/http.py:427: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ fsspec/implementations/http.py:815: in _file_info r = await session.get(url, allow_redirects=ar, **kwargs) /usr/lib64/python3.13/site-packages/aiohttp/client.py:663: in _request conn = await self._connector.connect( /usr/lib64/python3.13/site-packages/aiohttp/connector.py:538: in connect proto = await self._create_connection(req, traces, timeout) /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1050: in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = req = traces = [] timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5) async def _create_direct_connection( self, req: ClientRequest, traces: List["Trace"], timeout: "ClientTimeout", *, client_error: Type[Exception] = ClientConnectorError, ) -> Tuple[asyncio.Transport, ResponseHandler]: sslcontext = self._get_ssl_context(req) fingerprint = self._get_fingerprint(req) host = req.url.raw_host assert host is not None # Replace multiple trailing dots with a single one. # A trailing dot is only present for fully-qualified domain names. # See https://github.com/aio-libs/aiohttp/pull/7364. if host.endswith(".."): host = host.rstrip(".") + "." port = req.port assert port is not None try: # Cancelling this lookup should not cancel the underlying lookup # or else the cancel event will get broadcast to all the waiters # across all connections. hosts = await self._resolve_host(host, port, traces=traces) except OSError as exc: if exc.errno is None and isinstance(exc, asyncio.TimeoutError): raise # in case of proxy it is not ClientProxyConnectionError # it is problem of resolving proxy ip itself > raise ClientConnectorDNSError(req.connection_key, exc) from exc E aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host 67d218506ac04dabb70e34146dbc3b85:43265 ssl:default [Temporary failure in name resolution] /usr/lib64/python3.13/site-packages/aiohttp/connector.py:1341: ClientConnectorDNSError The above exception was the direct cause of the following exception: server = namespace(address='http://67d218506ac04dabb70e34146dbc3b85:43265', realfile='http://67d218506ac04dabb70e34146dbc3b85:43265/index/realfile') def test_cache_not_pickled(server): fs = fsspec.filesystem( "http", cache_type="readahead", headers={"give_length": "true", "head_ok": "true"}, ) filepath = server.realfile length = 3 > f = fs.open(filepath, mode="rb") fsspec/tests/test_spec.py:756: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ fsspec/spec.py:1310: in open f = self._open( fsspec/implementations/http.py:366: in _open size = size or info.update(self.info(path, **kwargs)) or info["size"] fsspec/asyn.py:118: in wrapper return sync(self.loop, func, *args, **kwargs) fsspec/asyn.py:103: in sync raise return_result fsspec/asyn.py:56: in _runner result[0] = await coro _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = url = 'http://67d218506ac04dabb70e34146dbc3b85:43265/index/realfile' kwargs = {}, info = {} session = policy = 'get' async def _info(self, url, **kwargs): """Get info of URL Tries to access location via HEAD, and then GET methods, but does not fetch the data. It is possible that the server does not supply any size information, in which case size will be given as None (and certain operations on the corresponding file will not work). """ info = {} session = await self.set_session() for policy in ["head", "get"]: try: info.update( await _file_info( self.encode_url(url), size_policy=policy, session=session, **self.kwargs, **kwargs, ) ) if info.get("size") is not None: break except Exception as exc: if policy == "get": # If get failed, then raise a FileNotFoundError > raise FileNotFoundError(url) from exc E FileNotFoundError: http://67d218506ac04dabb70e34146dbc3b85:43265/index/realfile fsspec/implementations/http.py:440: FileNotFoundError =============================== warnings summary =============================== fsspec/tests/test_async.py::test_async_streamed_file_write /usr/lib64/python3.13/functools.py:77: RuntimeWarning: coroutine 'test_run_coros_in_chunks..runner' was never awaited return partial(update_wrapper, wrapped=wrapped, Enable tracemalloc to get traceback where the object was allocated. See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. fsspec/tests/test_fuse.py::test_mount /usr/lib64/python3.13/multiprocessing/popen_fork.py:67: DeprecationWarning: This process (pid=790) is multi-threaded, use of fork() may lead to deadlocks in the child. self.pid = os.fork() -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ SKIPPED [1] fsspec/implementations/tests/test_dbfs.py:35: These tests need to be re-recorded. SKIPPED [1] fsspec/tests/test_downstream.py:3: could not import 's3fs': No module named 's3fs' SKIPPED [1] fsspec/tests/test_gui.py:3: could not import 'panel': No module named 'panel' SKIPPED [2] fsspec/implementations/tests/test_cached.py:222: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [3] fsspec/implementations/tests/test_cached.py:270: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [3] fsspec/implementations/tests/test_cached.py:298: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [1] fsspec/implementations/tests/test_cached.py:535: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [1] fsspec/implementations/tests/test_cached.py:553: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [1] fsspec/implementations/tests/test_cached.py:584: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [1] fsspec/implementations/tests/test_cached.py:920: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [4] fsspec/implementations/tests/test_cached.py:1034: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [2] fsspec/implementations/tests/test_ftp.py:33: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [4] fsspec/implementations/tests/test_ftp.py:46: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [1] fsspec/implementations/tests/test_ftp.py:63: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [1] fsspec/implementations/tests/test_ftp.py:70: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [2] fsspec/implementations/tests/test_ftp.py:88: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [1] fsspec/implementations/tests/test_ftp.py:111: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [1] fsspec/implementations/tests/test_ftp.py:119: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [2] fsspec/implementations/tests/test_ftp.py:129: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [1] fsspec/implementations/tests/test_ftp.py:147: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [1] fsspec/implementations/tests/test_ftp.py:163: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [1] fsspec/implementations/tests/test_ftp.py:177: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [1] fsspec/implementations/tests/test_ftp.py:190: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [1] fsspec/implementations/tests/test_ftp.py:204: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [1] fsspec/implementations/tests/test_libarchive.py:7: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [1] fsspec/implementations/tests/test_local.py:135: could not import 's3fs': No module named 's3fs' SKIPPED [2] fsspec/implementations/tests/test_local.py:785: Windows only SKIPPED [2] fsspec/implementations/tests/test_local.py:801: Windows only SKIPPED [5] fsspec/implementations/tests/test_local.py:823: Windows only SKIPPED [3] fsspec/implementations/tests/test_local.py:880: Windows only SKIPPED [1] fsspec/implementations/tests/test_local.py:895: Windows only SKIPPED [1] fsspec/implementations/tests/test_reference.py:608: could not import 'pandas': No module named 'pandas' SKIPPED [1] fsspec/implementations/tests/test_reference.py:654: could not import 'pandas': No module named 'pandas' SKIPPED [1] fsspec/implementations/tests/test_reference.py:764: could not import 'kerchunk': No module named 'kerchunk' SKIPPED [2] fsspec/implementations/tests/test_reference.py:796: could not import 'kerchunk': No module named 'kerchunk' SKIPPED [1] fsspec/implementations/tests/test_sftp.py:71: docker run not available SKIPPED [2] fsspec/implementations/tests/test_sftp.py:86: docker run not available SKIPPED [2] fsspec/implementations/tests/test_sftp.py:104: docker run not available SKIPPED [1] fsspec/implementations/tests/test_sftp.py:143: docker run not available SKIPPED [1] fsspec/implementations/tests/test_sftp.py:152: docker run not available SKIPPED [1] fsspec/implementations/tests/test_sftp.py:183: docker run not available SKIPPED [2] fsspec/implementations/tests/test_sftp.py:205: docker run not available SKIPPED [2] fsspec/implementations/tests/test_sftp.py:222: docker run not available SKIPPED [3] fsspec/implementations/tests/test_smb.py:81: docker run not available SKIPPED [3] fsspec/implementations/tests/test_smb.py:98: docker run not available SKIPPED [3] fsspec/implementations/tests/test_smb.py:125: docker run not available SKIPPED [3] fsspec/implementations/tests/test_smb.py:140: docker run not available SKIPPED [3] fsspec/implementations/tests/test_smb.py:161: docker run not available SKIPPED [3] fsspec/implementations/tests/test_smb.py:168: docker run not available SKIPPED [1] fsspec/implementations/tests/test_webhdfs.py:43: htcluster not found SKIPPED [1] fsspec/implementations/tests/test_webhdfs.py:49: htcluster not found SKIPPED [1] fsspec/implementations/tests/test_webhdfs.py:57: htcluster not found SKIPPED [1] fsspec/implementations/tests/test_webhdfs.py:67: htcluster not found SKIPPED [1] fsspec/implementations/tests/test_webhdfs.py:84: htcluster not found SKIPPED [1] fsspec/implementations/tests/test_webhdfs.py:100: htcluster not found SKIPPED [1] fsspec/implementations/tests/test_webhdfs.py:121: htcluster not found SKIPPED [1] fsspec/implementations/tests/test_webhdfs.py:140: htcluster not found SKIPPED [1] fsspec/implementations/tests/test_webhdfs.py:153: htcluster not found SKIPPED [1] fsspec/implementations/tests/test_webhdfs.py:163: htcluster not found SKIPPED [1] fsspec/implementations/tests/test_webhdfs.py:177: htcluster not found SKIPPED [1] fsspec/implementations/tests/test_webhdfs.py:200: htcluster not found SKIPPED [1] fsspec/tests/test_async.py:134: only for windows SKIPPED [1] fsspec/tests/test_core.py:357: could not import 's3fs': No module named 's3fs' SKIPPED [1] fsspec/tests/test_core.py:362: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [1] fsspec/tests/test_core.py:397: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [1] fsspec/tests/test_core.py:427: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [1] fsspec/tests/test_core.py:445: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [1] fsspec/tests/test_core.py:471: could not import 'adlfs': No module named 'adlfs' SKIPPED [1] fsspec/tests/test_file.py:12: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [1] fsspec/tests/test_file.py:22: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [1] fsspec/tests/test_file.py:49: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [1] fsspec/tests/test_file.py:64: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [1] fsspec/tests/test_file.py:80: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [1] fsspec/tests/test_file.py:100: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [1] fsspec/tests/test_file.py:126: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [1] fsspec/tests/test_file.py:148: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [1] fsspec/tests/test_file.py:162: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [1] fsspec/tests/test_file.py:186: could not import 'pyftpdlib': No module named 'pyftpdlib' SKIPPED [64] fsspec/tests/test_parquet.py:37: fastparquet not found SKIPPED [128] fsspec/tests/test_parquet.py:46: could not import 'pandas': No module named 'pandas' SKIPPED [1] fsspec/tests/test_registry.py:129: could not import 's3fs': No module named 's3fs' SKIPPED [10] fsspec/tests/test_spec.py:1115: could not import 'pyftpdlib': No module named 'pyftpdlib' XFAIL fsspec/tests/test_api.py::test_multilevel_chained_fs - see issue #334 XFAIL fsspec/tests/test_spec.py::test_find FAILED fsspec/implementations/tests/test_http.py::test_list - aiohttp.client_... FAILED fsspec/implementations/tests/test_http.py::test_list_cache - aiohttp.c... FAILED fsspec/implementations/tests/test_http.py::test_list_cache_with_expiry_time_cached FAILED fsspec/implementations/tests/test_http.py::test_list_cache_with_expiry_time_purged FAILED fsspec/implementations/tests/test_http.py::test_list_cache_reuse - aio... FAILED fsspec/implementations/tests/test_http.py::test_ls_raises_filenotfound FAILED fsspec/implementations/tests/test_http.py::test_list_cache_with_max_paths FAILED fsspec/implementations/tests/test_http.py::test_list_cache_with_skip_instance_cache FAILED fsspec/implementations/tests/test_http.py::test_glob_return_subfolders FAILED fsspec/implementations/tests/test_http.py::test_isdir - aiohttp.client... FAILED fsspec/implementations/tests/test_http.py::test_policy_arg - aiohttp.c... FAILED fsspec/implementations/tests/test_http.py::test_exists - aiohttp.clien... FAILED fsspec/implementations/tests/test_http.py::test_read - FileNotFoundErr... FAILED fsspec/implementations/tests/test_http.py::test_file_pickle - FileNotF... FAILED fsspec/implementations/tests/test_http.py::test_methods - AssertionErr... FAILED fsspec/implementations/tests/test_http.py::test_random_access[headers0] FAILED fsspec/implementations/tests/test_http.py::test_random_access[headers1] FAILED fsspec/implementations/tests/test_http.py::test_random_access[headers2] FAILED fsspec/implementations/tests/test_http.py::test_random_access[headers3] FAILED fsspec/implementations/tests/test_http.py::test_random_access[headers4] FAILED fsspec/implementations/tests/test_http.py::test_random_access[headers5] FAILED fsspec/implementations/tests/test_http.py::test_random_access[headers6] FAILED fsspec/implementations/tests/test_http.py::test_random_access[headers7] FAILED fsspec/implementations/tests/test_http.py::test_random_access[headers8] FAILED fsspec/implementations/tests/test_http.py::test_no_range_support[headers0] FAILED fsspec/implementations/tests/test_http.py::test_no_range_support[headers1] FAILED fsspec/implementations/tests/test_http.py::test_no_range_support[headers2] FAILED fsspec/implementations/tests/test_http.py::test_no_range_support[headers3] FAILED fsspec/implementations/tests/test_http.py::test_stream_seek - FileNotF... FAILED fsspec/implementations/tests/test_http.py::test_mapper_url - assert [] FAILED fsspec/implementations/tests/test_http.py::test_content_length_zero - ... FAILED fsspec/implementations/tests/test_http.py::test_content_encoding_gzip FAILED fsspec/implementations/tests/test_http.py::test_download - aiohttp.cli... FAILED fsspec/implementations/tests/test_http.py::test_multi_download - aioht... FAILED fsspec/implementations/tests/test_http.py::test_ls - aiohttp.client_ex... FAILED fsspec/implementations/tests/test_http.py::test_mcat - aiohttp.client_... FAILED fsspec/implementations/tests/test_http.py::test_cat_file_range - aioht... FAILED fsspec/implementations/tests/test_http.py::test_cat_file_range_numpy FAILED fsspec/implementations/tests/test_http.py::test_mcat_cache - aiohttp.c... FAILED fsspec/implementations/tests/test_http.py::test_mcat_expand - aiohttp.... FAILED fsspec/implementations/tests/test_http.py::test_info - FileNotFoundErr... FAILED fsspec/implementations/tests/test_http.py::test_put_file[POST] - aioht... FAILED fsspec/implementations/tests/test_http.py::test_put_file[PUT] - aiohtt... FAILED fsspec/implementations/tests/test_http.py::test_async_other_thread - a... FAILED fsspec/implementations/tests/test_http.py::test_async_this_thread - ai... FAILED fsspec/implementations/tests/test_http.py::test_processes[spawn] - aio... FAILED fsspec/implementations/tests/test_http.py::test_processes[forkserver] FAILED fsspec/implementations/tests/test_http.py::test_async_file - aiohttp.c... FAILED fsspec/implementations/tests/test_http.py::test_encoded - aiohttp.clie... FAILED fsspec/implementations/tests/test_http.py::test_with_cache - FileNotFo... FAILED fsspec/implementations/tests/test_http.py::test_async_expand_path - ai... FAILED fsspec/implementations/tests/test_http.py::test_async_walk - Assertion... FAILED fsspec/implementations/tests/test_reference.py::test_simple - fsspec.i... FAILED fsspec/implementations/tests/test_reference.py::test_simple_ver1 - fss... FAILED fsspec/implementations/tests/test_reference.py::test_info - FileNotFou... FAILED fsspec/implementations/tests/test_reference.py::test_defaults - fsspec... FAILED fsspec/tests/test_caches.py::test_background - FileNotFoundError: http... FAILED fsspec/tests/test_generic.py::test_remote_async_ops - FileNotFoundErro... FAILED fsspec/tests/test_generic.py::test_cp_async_to_sync - FileNotFoundErro... FAILED fsspec/tests/test_generic.py::test_cat_async - aiohttp.client_exceptio... FAILED fsspec/tests/test_spec.py::test_cache_not_pickled - FileNotFoundError:... = 61 failed, 1438 passed, 320 skipped, 4 deselected, 2 xfailed, 2 warnings in 40.82s = Unclosed client session client_session: Unclosed client session client_session: Unclosed client session client_session: error: Bad exit status from /var/tmp/rpm-tmp.41zs8w (%check) Bad exit status from /var/tmp/rpm-tmp.41zs8w (%check) RPM build errors: Finish: rpmbuild python-fsspec-2024.12.0-2.fc43.src.rpm Finish: build phase for python-fsspec-2024.12.0-2.fc43.src.rpm INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-rawhide-aarch64-1739979959.144869/root/var/log/dnf5.log INFO: chroot_scan: creating tarball /var/lib/copr-rpmbuild/results/chroot_scan.tar.gz /bin/tar: Removing leading `/' from member names ERROR: Exception(/var/lib/copr-rpmbuild/results/python-fsspec-2024.12.0-2.fc43.src.rpm) Config(fedora-rawhide-aarch64) 1 minutes 2 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_failure=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot ERROR: Command failed: # /usr/bin/systemd-nspawn -q -M 67d218506ac04dabb70e34146dbc3b85 -D /var/lib/mock/fedora-rawhide-aarch64-1739979959.144869/root -a -u mockbuild --capability=cap_ipc_lock --rlimit=RLIMIT_NOFILE=10240 --capability=cap_ipc_lock --bind=/tmp/mock-resolv._ialhj19:/etc/resolv.conf --bind=/dev/btrfs-control --bind=/dev/mapper/control --bind=/dev/fuse --bind=/dev/loop-control --bind=/dev/loop0 --bind=/dev/loop1 --bind=/dev/loop2 --bind=/dev/loop3 --bind=/dev/loop4 --bind=/dev/loop5 --bind=/dev/loop6 --bind=/dev/loop7 --bind=/dev/loop8 --bind=/dev/loop9 --bind=/dev/loop10 --bind=/dev/loop11 --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/builddir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin '--setenv=PROMPT_COMMAND=printf "\033]0;\007"' '--setenv=PS1= \s-\v\$ ' --setenv=LANG=C.UTF-8 --resolv-conf=off bash --login -c '/usr/bin/rpmbuild -ba --noprep --target aarch64 /builddir/build/originals/python-fsspec.spec' Copr build error: Build failed