Warning: Permanently added '2620:52:6:1161:dead:beef:cafe:c318' (ED25519) to the list of known hosts. cwd: /var/lib/copr-rpmbuild/workspace/workdir-phf4swmu/python-pydocket rc: 0 stdout: stderr: INFO: Reading stdout from command: git rev-parse --abbrev-ref HEAD INFO: Reading stdout from command: git rev-parse HEAD INFO: Reading sources specification file: sources INFO: Downloading pydocket-0.17.9.tar.gz INFO: Reading stdout from command: curl --help all INFO: Calling: curl -H Pragma: -H 'Accept-Encoding: identity' -o pydocket-0.17.9.tar.gz --location --connect-timeout 60 --retry 3 --retry-delay 10 --remote-time --show-error --fail --retry-all-errors https://copr-dist-git.fedorainfracloud.org/repo/pkgs/@fedora-review/fedora-review-2443838-python-pydocket/python-pydocket/pydocket-0.17.9.tar.gz/md5/383526fbd90631115d39d7ec1511cf29/pydocket-0.17.9.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 340k 100 340k 0 0 3300k 0 --:--:-- --:--:-- --:--:-- 3304k INFO: Reading stdout from command: md5sum pydocket-0.17.9.tar.gz Running (timeout=18000): unbuffer mock --spec /var/lib/copr-rpmbuild/workspace/workdir-phf4swmu/python-pydocket/python-pydocket.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-phf4swmu/python-pydocket --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1772505701.061359 -r /var/lib/copr-rpmbuild/results/configs/child.cfg INFO: mock.py version 6.6 starting (python version = 3.14.2, NVR = mock-6.6-1.fc43), args: /usr/libexec/mock/mock --spec /var/lib/copr-rpmbuild/workspace/workdir-phf4swmu/python-pydocket/python-pydocket.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-phf4swmu/python-pydocket --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1772505701.061359 -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-phf4swmu/python-pydocket/python-pydocket.spec) Config(fedora-rawhide-x86_64) Start: clean chroot Finish: clean chroot Mock Version: 6.6 INFO: Mock Version: 6.6 Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1772505701.061359/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-9e2911ed-d439-418a-8576-1b823d246b35 INFO: Checking that 76ad6c7d8b0fd184a4cc594753f23b464aab50792301ee71cf622e746f0b8e61 image matches host's architecture INFO: Copy content of container 76ad6c7d8b0fd184a4cc594753f23b464aab50792301ee71cf622e746f0b8e61 to /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1772505701.061359/root INFO: mounting 76ad6c7d8b0fd184a4cc594753f23b464aab50792301ee71cf622e746f0b8e61 with podman image mount INFO: image 76ad6c7d8b0fd184a4cc594753f23b464aab50792301ee71cf622e746f0b8e61 as /var/lib/containers/storage/overlay/fc0bff0b1b5279370c81e15431f75430bd429691ddfe0227b52b0c1355e98e57/merged INFO: umounting image 76ad6c7d8b0fd184a4cc594753f23b464aab50792301ee71cf622e746f0b8e61 (/var/lib/containers/storage/overlay/fc0bff0b1b5279370c81e15431f75430bd429691ddfe0227b52b0c1355e98e57/merged) with podman image umount INFO: Removing image mock-bootstrap-9e2911ed-d439-418a-8576-1b823d246b35 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-x86_64-1772505701.061359/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-6.0.1-5.fc45.x86_64 rpm-sequoia-1.10.1-1.fc45.x86_64 dnf5-5.4.0.0-2.fc45.x86_64 dnf5-plugins-5.4.0.0-2.fc45.x86_64 Start: installing minimal buildroot with dnf5 Updating and loading repositories: fedora 100% | 19.1 MiB/s | 22.0 MiB | 00m01s Copr repository 100% | 1.1 KiB/s | 1.7 KiB | 00m01s Repositories loaded. Package Arch Version Repository Size Installing group/module packages: bash x86_64 0:5.3.9-3.fc44 fedora 8.5 MiB bzip2 x86_64 0:1.0.8-23.fc44 fedora 95.0 KiB coreutils x86_64 0:9.10-2.fc45 fedora 5.6 MiB cpio x86_64 0:2.15-9.fc44 fedora 1.1 MiB diffutils x86_64 0:3.12-5.fc44 fedora 1.6 MiB fedora-release-common noarch 0:45-0.2 fedora 20.6 KiB findutils x86_64 1:4.10.0-7.fc44 fedora 1.9 MiB gawk x86_64 0:5.4.0-1.fc45 fedora 2.2 MiB glibc-minimal-langpack x86_64 0:2.43.9000-2.fc45 fedora 0.0 B grep x86_64 0:3.12-3.fc44 fedora 1.0 MiB gzip x86_64 0:1.14-2.fc44 fedora 401.6 KiB info x86_64 0:7.2-9.fc45 fedora 365.6 KiB patch x86_64 0:2.8-4.fc44 fedora 226.6 KiB redhat-rpm-config noarch 0:343-20.fc45 fedora 183.7 KiB rpm-build x86_64 0:6.0.1-5.fc45 fedora 294.6 KiB sed x86_64 0:4.9-8.fc45 fedora 857.2 KiB shadow-utils x86_64 2:4.19.3-1.fc45 fedora 4.0 MiB tar x86_64 2:1.35-8.fc44 fedora 3.0 MiB unzip x86_64 0:6.0-69.fc44 fedora 445.8 KiB util-linux x86_64 0:2.41.3-12.fc44 fedora 3.5 MiB which x86_64 0:2.23-4.fc44 fedora 83.4 KiB xz x86_64 1:5.8.2-2.fc44 fedora 1.3 MiB Installing dependencies: R-srpm-macros noarch 0:1.3.5-1.fc45 fedora 3.5 KiB add-determinism x86_64 0:0.7.2-4.fc45 fedora 2.2 MiB alternatives x86_64 0:1.33-5.fc44 fedora 62.1 KiB ansible-srpm-macros noarch 0:1-20.1.fc44 fedora 35.7 KiB audit-libs x86_64 0:4.1.3-1.fc44 fedora 390.5 KiB binutils x86_64 0:2.46-1.fc45 fedora 27.2 MiB build-reproducibility-srpm-macros noarch 0:0.7.2-4.fc45 fedora 1.2 KiB bzip2-libs x86_64 0:1.0.8-23.fc44 fedora 80.5 KiB ca-certificates noarch 0:2025.2.80_v9.0.304-5.fc44 fedora 2.7 MiB cmake-srpm-macros noarch 0:4.2.3-2.fc45 fedora 524.0 B coreutils-common x86_64 0:9.10-2.fc45 fedora 10.7 MiB crypto-policies noarch 0:20251128-3.git19878fe.fc44 fedora 132.6 KiB curl x86_64 0:8.19.0~rc2-1.fc45 fedora 479.4 KiB cyrus-sasl-lib x86_64 0:2.1.28-35.fc44 fedora 2.3 MiB debugedit x86_64 0:5.2-6.fc44 fedora 218.3 KiB dwz x86_64 0:0.16-3.fc44 fedora 290.9 KiB ed x86_64 0:1.22.5-2.fc45 fedora 149.7 KiB efi-srpm-macros noarch 0:6-6.fc44 fedora 40.2 KiB elfutils x86_64 0:0.194-3.fc44 fedora 2.9 MiB elfutils-debuginfod-client x86_64 0:0.194-3.fc44 fedora 83.7 KiB elfutils-default-yama-scope noarch 0:0.194-3.fc44 fedora 1.8 KiB elfutils-libelf x86_64 0:0.194-3.fc44 fedora 1.1 MiB elfutils-libs x86_64 0:0.194-3.fc44 fedora 715.3 KiB fedora-gpg-keys noarch 0:45-0.1 fedora 133.4 KiB fedora-release noarch 0:45-0.2 fedora 0.0 B fedora-release-identity-basic noarch 0:45-0.2 fedora 664.0 B fedora-repos noarch 0:45-0.1 fedora 4.9 KiB fedora-repos-rawhide noarch 0:45-0.1 fedora 2.2 KiB file x86_64 0:5.46-9.fc44 fedora 100.1 KiB file-libs x86_64 0:5.46-9.fc44 fedora 11.9 MiB filesystem x86_64 0:3.18-52.fc44 fedora 112.0 B filesystem-srpm-macros noarch 0:3.18-52.fc44 fedora 38.2 KiB fonts-srpm-macros noarch 1:5.0.0-3.fc45 fedora 55.8 KiB forge-srpm-macros noarch 0:0.4.0-4.fc44 fedora 38.9 KiB fpc-srpm-macros noarch 0:1.3-16.fc44 fedora 144.0 B gap-srpm-macros noarch 0:2-2.fc44 fedora 2.1 KiB gdb-minimal x86_64 0:17.1-5.fc45 fedora 14.2 MiB gdbm-libs x86_64 1:1.23-11.fc44 fedora 129.6 KiB ghc-srpm-macros noarch 0:1.10-1.fc44 fedora 792.0 B glibc x86_64 0:2.43.9000-2.fc45 fedora 7.0 MiB glibc-common x86_64 0:2.43.9000-2.fc45 fedora 1.0 MiB glibc-gconv-extra x86_64 0:2.43.9000-2.fc45 fedora 7.7 MiB gmp x86_64 1:6.3.0-5.fc44 fedora 815.2 KiB gnat-srpm-macros noarch 0:7-2.fc44 fedora 1.0 KiB gnulib-l10n noarch 0:20241231-2.fc44 fedora 655.0 KiB gnupg2 x86_64 0:2.4.9-5.fc44 fedora 6.5 MiB gnupg2-dirmngr x86_64 0:2.4.9-5.fc44 fedora 633.9 KiB gnupg2-gpg-agent x86_64 0:2.4.9-5.fc44 fedora 682.5 KiB gnupg2-gpgconf x86_64 0:2.4.9-5.fc44 fedora 249.7 KiB gnupg2-keyboxd x86_64 0:2.4.9-5.fc44 fedora 201.2 KiB gnupg2-verify x86_64 0:2.4.9-5.fc44 fedora 360.3 KiB gnutls x86_64 0:3.8.12-1.fc45 fedora 3.7 MiB go-srpm-macros noarch 0:3.8.0-2.fc44 fedora 61.9 KiB gpgverify noarch 0:2.2-4.fc44 fedora 8.7 KiB ima-evm-utils-libs x86_64 0:1.6.2-8.fc44 fedora 60.6 KiB jansson x86_64 0:2.14-4.fc44 fedora 88.9 KiB java-srpm-macros noarch 0:1-8.fc44 fedora 870.0 B json-c x86_64 0:0.18-8.fc44 fedora 82.6 KiB kernel-srpm-macros noarch 0:1.0-28.fc44 fedora 1.9 KiB keyutils-libs x86_64 0:1.6.3-7.fc44 fedora 54.2 KiB krb5-libs x86_64 0:1.22.2-2.fc45 fedora 2.4 MiB libacl x86_64 0:2.3.2-6.fc44 fedora 35.8 KiB libarchive x86_64 0:3.8.4-2.fc44 fedora 991.2 KiB libassuan x86_64 0:2.5.7-5.fc44 fedora 163.8 KiB libattr x86_64 0:2.5.2-8.fc44 fedora 24.3 KiB libblkid x86_64 0:2.41.3-12.fc44 fedora 274.3 KiB libbrotli x86_64 0:1.2.0-3.fc44 fedora 865.0 KiB libcap x86_64 0:2.77-2.fc44 fedora 212.1 KiB libcap-ng x86_64 0:0.9.1-1.fc45 fedora 68.7 KiB libcbor x86_64 0:0.13.0-2.fc44 fedora 79.5 KiB libcom_err x86_64 0:1.47.3-4.fc44 fedora 63.0 KiB libcurl x86_64 0:8.19.0~rc2-1.fc45 fedora 1.0 MiB libeconf x86_64 0:0.7.9-3.fc44 fedora 64.8 KiB libevent x86_64 0:2.1.12-17.fc44 fedora 978.7 KiB libfdisk x86_64 0:2.41.3-12.fc44 fedora 388.3 KiB libffi x86_64 0:3.5.2-2.fc44 fedora 87.7 KiB libfido2 x86_64 0:1.16.0-5.fc44 fedora 246.4 KiB libfsverity x86_64 0:1.7-1.fc45 fedora 28.4 KiB libgcc x86_64 0:16.0.1-0.7.fc45 fedora 270.7 KiB libgcrypt x86_64 0:1.12.1-1.fc45 fedora 1.7 MiB libgomp x86_64 0:16.0.1-0.7.fc45 fedora 572.5 KiB libgpg-error x86_64 0:1.59-1.fc45 fedora 946.4 KiB libidn2 x86_64 0:2.3.8-3.fc44 fedora 556.4 KiB libksba x86_64 0:1.6.8-1.fc45 fedora 421.9 KiB liblastlog2 x86_64 0:2.41.3-12.fc44 fedora 37.6 KiB libmount x86_64 0:2.41.3-12.fc44 fedora 388.6 KiB libnghttp2 x86_64 0:1.68.0-3.fc44 fedora 166.1 KiB libnghttp3 x86_64 0:1.15.0-1.fc44 fedora 159.2 KiB libpkgconf x86_64 0:2.5.1-1.fc45 fedora 90.1 KiB libpsl x86_64 0:0.21.5-7.fc44 fedora 76.3 KiB libselinux x86_64 0:3.10-1.fc44 fedora 201.0 KiB libselinux-utils x86_64 0:3.10-1.fc44 fedora 305.7 KiB libsemanage x86_64 0:3.10-1.fc44 fedora 312.3 KiB libsepol x86_64 0:3.10-1.fc44 fedora 870.0 KiB libsmartcols x86_64 0:2.41.3-12.fc44 fedora 188.3 KiB libssh x86_64 0:0.12.0-1.fc45 fedora 719.1 KiB libssh-config noarch 0:0.12.0-1.fc45 fedora 277.0 B libstdc++ x86_64 0:16.0.1-0.7.fc45 fedora 2.9 MiB libtasn1 x86_64 0:4.20.0-3.fc44 fedora 180.2 KiB libtool-ltdl x86_64 0:2.5.4-10.fc44 fedora 70.0 KiB libunistring x86_64 0:1.1-11.fc44 fedora 1.7 MiB libusb1 x86_64 0:1.0.29-5.fc44 fedora 175.2 KiB libuuid x86_64 0:2.41.3-12.fc44 fedora 37.2 KiB libverto x86_64 0:0.3.2-12.fc44 fedora 25.3 KiB libxcrypt x86_64 0:4.5.2-3.fc44 fedora 293.2 KiB libxml2 x86_64 0:2.12.10-6.fc44 fedora 1.8 MiB libzstd x86_64 0:1.5.7-5.fc44 fedora 956.1 KiB linkdupes x86_64 0:0.7.2-4.fc45 fedora 789.3 KiB lua-libs x86_64 0:5.5.0-1.fc45 fedora 297.9 KiB lua-srpm-macros noarch 0:1-17.fc44 fedora 1.3 KiB lz4-libs x86_64 0:1.10.0-4.fc44 fedora 157.3 KiB mpfr x86_64 0:4.2.2-3.fc44 fedora 849.1 KiB ncurses-base noarch 0:6.6-1.fc44 fedora 329.7 KiB ncurses-libs x86_64 0:6.6-1.fc44 fedora 968.9 KiB nettle x86_64 0:3.10.1-3.fc44 fedora 794.3 KiB ngtcp2 x86_64 0:1.19.0-2.fc44 fedora 330.2 KiB ngtcp2-crypto-ossl x86_64 0:1.19.0-2.fc44 fedora 51.6 KiB npth x86_64 0:1.8-4.fc44 fedora 49.5 KiB ocaml-srpm-macros noarch 0:11-3.fc44 fedora 1.9 KiB openblas-srpm-macros noarch 0:2-21.fc44 fedora 112.0 B openldap x86_64 0:2.6.10-7.fc44 fedora 667.5 KiB openssl-libs x86_64 1:3.5.5-1.fc44 fedora 9.2 MiB p11-kit x86_64 0:0.26.2-1.fc45 fedora 2.6 MiB p11-kit-trust x86_64 0:0.26.2-1.fc45 fedora 478.3 KiB package-notes-srpm-macros noarch 0:0.17-3.fc45 fedora 1.6 KiB pam-libs x86_64 0:1.7.2-1.fc44 fedora 130.5 KiB pcre2 x86_64 0:10.47-1.fc44.1 fedora 718.6 KiB pcre2-syntax noarch 0:10.47-1.fc44.1 fedora 281.9 KiB perl-srpm-macros noarch 0:1-61.fc44 fedora 861.0 B pkgconf x86_64 0:2.5.1-1.fc45 fedora 92.7 KiB pkgconf-m4 noarch 0:2.5.1-1.fc45 fedora 14.3 KiB pkgconf-pkg-config x86_64 0:2.5.1-1.fc45 fedora 989.0 B policycoreutils x86_64 0:3.10-2.fc45 fedora 884.4 KiB popt x86_64 0:1.19-10.fc44 fedora 132.6 KiB publicsuffix-list-dafsa noarch 0:20260116-1.fc44 fedora 70.4 KiB pyproject-srpm-macros noarch 0:1.18.6-2.fc44 fedora 1.9 KiB python-srpm-macros noarch 0:3.14-10.fc44 fedora 51.6 KiB qt5-srpm-macros noarch 0:5.15.18-2.fc44 fedora 500.0 B qt6-srpm-macros noarch 0:6.10.2-1.fc45 fedora 472.0 B readline x86_64 0:8.3-4.fc44 fedora 519.5 KiB rpm x86_64 0:6.0.1-5.fc45 fedora 3.1 MiB rpm-build-libs x86_64 0:6.0.1-5.fc45 fedora 276.3 KiB rpm-libs x86_64 0:6.0.1-5.fc45 fedora 961.2 KiB rpm-plugin-selinux x86_64 0:6.0.1-5.fc45 fedora 11.9 KiB rpm-sequoia x86_64 0:1.10.1-1.fc45 fedora 2.4 MiB rpm-sign-libs x86_64 0:6.0.1-5.fc45 fedora 39.6 KiB rust-srpm-macros noarch 0:28.4-3.fc44 fedora 5.5 KiB selinux-policy noarch 0:42.24-1.fc45 fedora 32.0 KiB selinux-policy-targeted noarch 0:42.24-1.fc45 fedora 18.5 MiB setup noarch 0:2.15.0-28.fc44 fedora 724.9 KiB sqlite-libs x86_64 0:3.51.2-1.fc44 fedora 1.6 MiB systemd-libs x86_64 0:260~rc1-5.fc45 fedora 2.5 MiB systemd-standalone-sysusers x86_64 0:260~rc1-5.fc45 fedora 837.2 KiB tpm2-tss x86_64 0:4.1.3-9.fc44 fedora 1.6 MiB tree-sitter-srpm-macros noarch 0:0.4.2-2.fc44 fedora 8.3 KiB util-linux-core x86_64 0:2.41.3-12.fc44 fedora 1.5 MiB xxhash-libs x86_64 0:0.8.3-4.fc44 fedora 94.0 KiB xz-libs x86_64 1:5.8.2-2.fc44 fedora 217.7 KiB zig-srpm-macros noarch 0:1-8.fc44 fedora 1.3 KiB zip x86_64 0:3.0-45.fc44 fedora 698.0 KiB zlib-ng-compat x86_64 0:2.3.3-5.fc45 fedora 165.6 KiB zstd x86_64 0:1.5.7-5.fc44 fedora 502.4 KiB Installing groups: Buildsystem building group Transaction Summary: Installing: 184 packages Total size of inbound packages is 69 MiB. Need to download 69 MiB. After this operation, 224 MiB extra will be used (install 224 MiB, remove 0 B). [ 1/184] bzip2-0:1.0.8-23.fc44.x86_64 100% | 3.4 MiB/s | 52.1 KiB | 00m00s [ 2/184] cpio-0:2.15-9.fc44.x86_64 100% | 71.6 MiB/s | 293.4 KiB | 00m00s [ 3/184] bash-0:5.3.9-3.fc44.x86_64 100% | 75.8 MiB/s | 1.9 MiB | 00m00s [ 4/184] coreutils-0:9.10-2.fc45.x86_6 100% | 44.0 MiB/s | 1.2 MiB | 00m00s [ 5/184] diffutils-0:3.12-5.fc44.x86_6 100% | 48.3 MiB/s | 395.3 KiB | 00m00s [ 6/184] fedora-release-common-0:45-0. 100% | 7.8 MiB/s | 23.9 KiB | 00m00s [ 7/184] findutils-1:4.10.0-7.fc44.x86 100% | 134.9 MiB/s | 552.5 KiB | 00m00s [ 8/184] glibc-minimal-langpack-0:2.43 100% | 20.5 MiB/s | 83.9 KiB | 00m00s [ 9/184] grep-0:3.12-3.fc44.x86_64 100% | 73.6 MiB/s | 301.6 KiB | 00m00s [ 10/184] gzip-0:1.14-2.fc44.x86_64 100% | 58.3 MiB/s | 179.1 KiB | 00m00s [ 11/184] info-0:7.2-9.fc45.x86_64 100% | 45.6 MiB/s | 186.7 KiB | 00m00s [ 12/184] patch-0:2.8-4.fc44.x86_64 100% | 28.1 MiB/s | 115.2 KiB | 00m00s [ 13/184] redhat-rpm-config-0:343-20.fc 100% | 25.5 MiB/s | 78.4 KiB | 00m00s [ 14/184] rpm-build-0:6.0.1-5.fc45.x86_ 100% | 68.3 MiB/s | 139.9 KiB | 00m00s [ 15/184] sed-0:4.9-8.fc45.x86_64 100% | 51.9 MiB/s | 319.0 KiB | 00m00s [ 16/184] shadow-utils-2:4.19.3-1.fc45. 100% | 162.1 MiB/s | 1.3 MiB | 00m00s [ 17/184] unzip-0:6.0-69.fc44.x86_64 100% | 65.0 MiB/s | 199.6 KiB | 00m00s [ 18/184] tar-2:1.35-8.fc44.x86_64 100% | 94.2 MiB/s | 868.2 KiB | 00m00s [ 19/184] which-0:2.23-4.fc44.x86_64 100% | 20.6 MiB/s | 42.2 KiB | 00m00s [ 20/184] xz-1:5.8.2-2.fc44.x86_64 100% | 74.1 MiB/s | 607.2 KiB | 00m00s [ 21/184] gawk-0:5.4.0-1.fc45.x86_64 100% | 116.8 MiB/s | 1.2 MiB | 00m00s [ 22/184] util-linux-0:2.41.3-12.fc44.x 100% | 100.4 MiB/s | 1.2 MiB | 00m00s [ 23/184] filesystem-0:3.18-52.fc44.x86 100% | 148.2 MiB/s | 1.3 MiB | 00m00s [ 24/184] ncurses-libs-0:6.6-1.fc44.x86 100% | 67.2 MiB/s | 344.1 KiB | 00m00s [ 25/184] bzip2-libs-0:1.0.8-23.fc44.x8 100% | 21.4 MiB/s | 43.8 KiB | 00m00s [ 26/184] glibc-0:2.43.9000-2.fc45.x86_ 100% | 198.0 MiB/s | 2.4 MiB | 00m00s [ 27/184] gmp-1:6.3.0-5.fc44.x86_64 100% | 78.7 MiB/s | 322.5 KiB | 00m00s [ 28/184] libacl-0:2.3.2-6.fc44.x86_64 100% | 8.1 MiB/s | 24.8 KiB | 00m00s [ 29/184] libattr-0:2.5.2-8.fc44.x86_64 100% | 8.8 MiB/s | 17.9 KiB | 00m00s [ 30/184] coreutils-common-0:9.10-2.fc4 100% | 213.4 MiB/s | 2.1 MiB | 00m00s [ 31/184] libcap-0:2.77-2.fc44.x86_64 100% | 28.8 MiB/s | 88.5 KiB | 00m00s [ 32/184] libselinux-0:3.10-1.fc44.x86_ 100% | 24.9 MiB/s | 102.0 KiB | 00m00s [ 33/184] fedora-repos-0:45-0.1.noarch 100% | 4.5 MiB/s | 9.2 KiB | 00m00s [ 34/184] systemd-libs-0:260~rc1-5.fc45 100% | 172.4 MiB/s | 882.6 KiB | 00m00s [ 35/184] glibc-common-0:2.43.9000-2.fc 100% | 122.8 MiB/s | 377.2 KiB | 00m00s [ 36/184] pcre2-0:10.47-1.fc44.1.x86_64 100% | 67.8 MiB/s | 277.7 KiB | 00m00s [ 37/184] openssl-libs-1:3.5.5-1.fc44.x 100% | 196.0 MiB/s | 2.7 MiB | 00m00s [ 38/184] R-srpm-macros-0:1.3.5-1.fc45. 100% | 2.6 MiB/s | 10.8 KiB | 00m00s [ 39/184] ed-0:1.22.5-2.fc45.x86_64 100% | 13.9 MiB/s | 85.4 KiB | 00m00s [ 40/184] build-reproducibility-srpm-ma 100% | 6.4 MiB/s | 13.1 KiB | 00m00s [ 41/184] cmake-srpm-macros-0:4.2.3-2.f 100% | 5.1 MiB/s | 10.5 KiB | 00m00s [ 42/184] ansible-srpm-macros-0:1-20.1. 100% | 6.5 MiB/s | 20.1 KiB | 00m00s [ 43/184] dwz-0:0.16-3.fc44.x86_64 100% | 67.8 MiB/s | 138.9 KiB | 00m00s [ 44/184] file-0:5.46-9.fc44.x86_64 100% | 23.9 MiB/s | 49.0 KiB | 00m00s [ 45/184] efi-srpm-macros-0:6-6.fc44.no 100% | 11.0 MiB/s | 22.6 KiB | 00m00s [ 46/184] filesystem-srpm-macros-0:3.18 100% | 26.0 MiB/s | 26.6 KiB | 00m00s [ 47/184] fonts-srpm-macros-1:5.0.0-3.f 100% | 26.6 MiB/s | 27.2 KiB | 00m00s [ 48/184] forge-srpm-macros-0:0.4.0-4.f 100% | 19.5 MiB/s | 20.0 KiB | 00m00s [ 49/184] fpc-srpm-macros-0:1.3-16.fc44 100% | 3.9 MiB/s | 7.9 KiB | 00m00s [ 50/184] gap-srpm-macros-0:2-2.fc44.no 100% | 4.5 MiB/s | 9.1 KiB | 00m00s [ 51/184] ghc-srpm-macros-0:1.10-1.fc44 100% | 4.3 MiB/s | 8.8 KiB | 00m00s [ 52/184] gnat-srpm-macros-0:7-2.fc44.n 100% | 8.5 MiB/s | 8.7 KiB | 00m00s [ 53/184] go-srpm-macros-0:3.8.0-2.fc44 100% | 13.8 MiB/s | 28.2 KiB | 00m00s [ 54/184] java-srpm-macros-0:1-8.fc44.n 100% | 4.0 MiB/s | 8.1 KiB | 00m00s [ 55/184] kernel-srpm-macros-0:1.0-28.f 100% | 4.4 MiB/s | 9.0 KiB | 00m00s [ 56/184] lua-srpm-macros-0:1-17.fc44.n 100% | 8.7 MiB/s | 8.9 KiB | 00m00s [ 57/184] ocaml-srpm-macros-0:11-3.fc44 100% | 9.1 MiB/s | 9.3 KiB | 00m00s [ 58/184] openblas-srpm-macros-0:2-21.f 100% | 7.6 MiB/s | 7.8 KiB | 00m00s [ 59/184] package-notes-srpm-macros-0:0 100% | 9.5 MiB/s | 9.7 KiB | 00m00s [ 60/184] pyproject-srpm-macros-0:1.18. 100% | 6.6 MiB/s | 13.5 KiB | 00m00s [ 61/184] perl-srpm-macros-0:1-61.fc44. 100% | 4.1 MiB/s | 8.4 KiB | 00m00s [ 62/184] python-srpm-macros-0:3.14-10. 100% | 11.7 MiB/s | 24.0 KiB | 00m00s [ 63/184] qt6-srpm-macros-0:6.10.2-1.fc 100% | 4.4 MiB/s | 9.1 KiB | 00m00s [ 64/184] qt5-srpm-macros-0:5.15.18-2.f 100% | 2.8 MiB/s | 8.7 KiB | 00m00s [ 65/184] rpm-0:6.0.1-5.fc45.x86_64 100% | 141.2 MiB/s | 578.3 KiB | 00m00s [ 66/184] rust-srpm-macros-0:28.4-3.fc4 100% | 3.6 MiB/s | 11.1 KiB | 00m00s [ 67/184] tree-sitter-srpm-macros-0:0.4 100% | 6.6 MiB/s | 13.5 KiB | 00m00s [ 68/184] debugedit-0:5.2-6.fc44.x86_64 100% | 42.3 MiB/s | 86.7 KiB | 00m00s [ 69/184] zig-srpm-macros-0:1-8.fc44.no 100% | 2.9 MiB/s | 8.8 KiB | 00m00s [ 70/184] zip-0:3.0-45.fc44.x86_64 100% | 86.1 MiB/s | 264.4 KiB | 00m00s [ 71/184] elfutils-libelf-0:0.194-3.fc4 100% | 100.2 MiB/s | 205.1 KiB | 00m00s [ 72/184] elfutils-0:0.194-3.fc44.x86_6 100% | 142.6 MiB/s | 583.9 KiB | 00m00s [ 73/184] libarchive-0:3.8.4-2.fc44.x86 100% | 107.8 MiB/s | 441.4 KiB | 00m00s [ 74/184] libgcc-0:16.0.1-0.7.fc45.x86_ 100% | 39.2 MiB/s | 120.3 KiB | 00m00s [ 75/184] popt-0:1.19-10.fc44.x86_64 100% | 32.7 MiB/s | 66.9 KiB | 00m00s [ 76/184] readline-0:8.3-4.fc44.x86_64 100% | 56.1 MiB/s | 229.8 KiB | 00m00s [ 77/184] rpm-build-libs-0:6.0.1-5.fc45 100% | 43.0 MiB/s | 132.1 KiB | 00m00s [ 78/184] libstdc++-0:16.0.1-0.7.fc45.x 100% | 115.2 MiB/s | 943.3 KiB | 00m00s [ 79/184] rpm-libs-0:6.0.1-5.fc45.x86_6 100% | 135.3 MiB/s | 415.5 KiB | 00m00s [ 80/184] zstd-0:1.5.7-5.fc44.x86_64 100% | 62.7 MiB/s | 192.5 KiB | 00m00s [ 81/184] audit-libs-0:4.1.3-1.fc44.x86 100% | 46.3 MiB/s | 142.1 KiB | 00m00s [ 82/184] libeconf-0:0.7.9-3.fc44.x86_6 100% | 35.4 MiB/s | 36.2 KiB | 00m00s [ 83/184] libsemanage-0:3.10-1.fc44.x86 100% | 62.1 MiB/s | 127.3 KiB | 00m00s [ 84/184] libxcrypt-0:4.5.2-3.fc44.x86_ 100% | 64.1 MiB/s | 131.2 KiB | 00m00s [ 85/184] pam-libs-0:1.7.2-1.fc44.x86_6 100% | 28.8 MiB/s | 59.1 KiB | 00m00s [ 86/184] setup-0:2.15.0-28.fc44.noarch 100% | 76.7 MiB/s | 157.2 KiB | 00m00s [ 87/184] xz-libs-1:5.8.2-2.fc44.x86_64 100% | 57.0 MiB/s | 116.8 KiB | 00m00s [ 88/184] mpfr-0:4.2.2-3.fc44.x86_64 100% | 87.4 MiB/s | 357.8 KiB | 00m00s [ 89/184] libblkid-0:2.41.3-12.fc44.x86 100% | 42.1 MiB/s | 129.4 KiB | 00m00s [ 90/184] libcap-ng-0:0.9.1-1.fc45.x86_ 100% | 16.0 MiB/s | 32.8 KiB | 00m00s [ 91/184] libfdisk-0:2.41.3-12.fc44.x86 100% | 82.1 MiB/s | 168.1 KiB | 00m00s [ 92/184] liblastlog2-0:2.41.3-12.fc44. 100% | 7.6 MiB/s | 23.5 KiB | 00m00s [ 93/184] libmount-0:2.41.3-12.fc44.x86 100% | 55.7 MiB/s | 171.0 KiB | 00m00s [ 94/184] libsmartcols-0:2.41.3-12.fc44 100% | 42.4 MiB/s | 86.9 KiB | 00m00s [ 95/184] libuuid-0:2.41.3-12.fc44.x86_ 100% | 8.7 MiB/s | 26.6 KiB | 00m00s [ 96/184] util-linux-core-0:2.41.3-12.f 100% | 181.6 MiB/s | 557.8 KiB | 00m00s [ 97/184] zlib-ng-compat-0:2.3.3-5.fc45 100% | 44.5 MiB/s | 91.2 KiB | 00m00s [ 98/184] ncurses-base-0:6.6-1.fc44.noa 100% | 43.0 MiB/s | 88.0 KiB | 00m00s [ 99/184] gnulib-l10n-0:20241231-2.fc44 100% | 48.9 MiB/s | 150.3 KiB | 00m00s [100/184] glibc-gconv-extra-0:2.43.9000 100% | 207.1 MiB/s | 1.7 MiB | 00m00s [101/184] libsepol-0:3.10-1.fc44.x86_64 100% | 71.8 MiB/s | 367.6 KiB | 00m00s [102/184] crypto-policies-0:20251128-3. 100% | 48.0 MiB/s | 98.3 KiB | 00m00s [103/184] fedora-gpg-keys-0:45-0.1.noar 100% | 69.0 MiB/s | 141.3 KiB | 00m00s [104/184] fedora-repos-rawhide-0:45-0.1 100% | 8.6 MiB/s | 8.8 KiB | 00m00s [105/184] ca-certificates-0:2025.2.80_v 100% | 118.8 MiB/s | 973.5 KiB | 00m00s [106/184] pcre2-syntax-0:10.47-1.fc44.1 100% | 80.4 MiB/s | 164.7 KiB | 00m00s [107/184] linkdupes-0:0.7.2-4.fc45.x86_ 100% | 84.7 MiB/s | 347.0 KiB | 00m00s [108/184] add-determinism-0:0.7.2-4.fc4 100% | 140.4 MiB/s | 862.4 KiB | 00m00s [109/184] file-libs-0:5.46-9.fc44.x86_6 100% | 119.1 MiB/s | 853.4 KiB | 00m00s [110/184] curl-0:8.19.0~rc2-1.fc45.x86_ 100% | 78.3 MiB/s | 240.6 KiB | 00m00s [111/184] elfutils-libs-0:0.194-3.fc44. 100% | 92.1 MiB/s | 282.8 KiB | 00m00s [112/184] elfutils-debuginfod-client-0: 100% | 45.6 MiB/s | 46.7 KiB | 00m00s [113/184] libzstd-0:1.5.7-5.fc44.x86_64 100% | 118.5 MiB/s | 364.2 KiB | 00m00s [114/184] lz4-libs-0:1.10.0-4.fc44.x86_ 100% | 37.9 MiB/s | 77.7 KiB | 00m00s [115/184] libxml2-0:2.12.10-6.fc44.x86_ 100% | 176.9 MiB/s | 724.6 KiB | 00m00s [116/184] lua-libs-0:5.5.0-1.fc45.x86_6 100% | 70.1 MiB/s | 143.6 KiB | 00m00s [117/184] libgomp-0:16.0.1-0.7.fc45.x86 100% | 92.9 MiB/s | 380.7 KiB | 00m00s [118/184] rpm-sign-libs-0:6.0.1-5.fc45. 100% | 13.6 MiB/s | 27.9 KiB | 00m00s [119/184] elfutils-default-yama-scope-0 100% | 5.8 MiB/s | 11.9 KiB | 00m00s [120/184] rpm-sequoia-0:1.10.1-1.fc45.x 100% | 223.2 MiB/s | 914.2 KiB | 00m00s [121/184] json-c-0:0.18-8.fc44.x86_64 100% | 45.2 MiB/s | 46.3 KiB | 00m00s [122/184] sqlite-libs-0:3.51.2-1.fc44.x 100% | 130.1 MiB/s | 799.2 KiB | 00m00s [123/184] ima-evm-utils-libs-0:1.6.2-8. 100% | 14.6 MiB/s | 30.0 KiB | 00m00s [124/184] libfsverity-0:1.7-1.fc45.x86_ 100% | 9.3 MiB/s | 19.0 KiB | 00m00s [125/184] gpgverify-0:2.2-4.fc44.noarch 100% | 11.0 MiB/s | 11.2 KiB | 00m00s [126/184] gnupg2-0:2.4.9-5.fc44.x86_64 100% | 236.1 MiB/s | 1.7 MiB | 00m00s [127/184] gnupg2-dirmngr-0:2.4.9-5.fc44 100% | 27.6 MiB/s | 282.4 KiB | 00m00s [128/184] gnupg2-gpgconf-0:2.4.9-5.fc44 100% | 11.4 MiB/s | 117.1 KiB | 00m00s [129/184] gnupg2-gpg-agent-0:2.4.9-5.fc 100% | 21.1 MiB/s | 281.3 KiB | 00m00s [130/184] gnupg2-keyboxd-0:2.4.9-5.fc44 100% | 31.7 MiB/s | 97.3 KiB | 00m00s [131/184] gnupg2-verify-0:2.4.9-5.fc44. 100% | 86.3 MiB/s | 176.8 KiB | 00m00s [132/184] libassuan-0:2.5.7-5.fc44.x86_ 100% | 33.6 MiB/s | 68.9 KiB | 00m00s [133/184] npth-0:1.8-4.fc44.x86_64 100% | 25.1 MiB/s | 25.8 KiB | 00m00s [134/184] libgcrypt-0:1.12.1-1.fc45.x86 100% | 153.7 MiB/s | 629.4 KiB | 00m00s [135/184] libgpg-error-0:1.59-1.fc45.x8 100% | 82.6 MiB/s | 253.8 KiB | 00m00s [136/184] tpm2-tss-0:4.1.3-9.fc44.x86_6 100% | 143.5 MiB/s | 440.9 KiB | 00m00s [137/184] libksba-0:1.6.8-1.fc45.x86_64 100% | 55.0 MiB/s | 168.9 KiB | 00m00s [138/184] openldap-0:2.6.10-7.fc44.x86_ 100% | 132.4 MiB/s | 271.1 KiB | 00m00s [139/184] gnutls-0:3.8.12-1.fc45.x86_64 100% | 175.3 MiB/s | 1.4 MiB | 00m00s [140/184] libusb1-0:1.0.29-5.fc44.x86_6 100% | 20.2 MiB/s | 82.8 KiB | 00m00s [141/184] libidn2-0:2.3.8-3.fc44.x86_64 100% | 42.9 MiB/s | 175.5 KiB | 00m00s [142/184] libtasn1-0:4.20.0-3.fc44.x86_ 100% | 74.4 MiB/s | 76.2 KiB | 00m00s [143/184] libunistring-0:1.1-11.fc44.x8 100% | 133.7 MiB/s | 547.8 KiB | 00m00s [144/184] nettle-0:3.10.1-3.fc44.x86_64 100% | 104.5 MiB/s | 428.0 KiB | 00m00s [145/184] p11-kit-0:0.26.2-1.fc45.x86_6 100% | 135.7 MiB/s | 555.9 KiB | 00m00s [146/184] libevent-0:2.1.12-17.fc44.x86 100% | 93.5 MiB/s | 287.4 KiB | 00m00s [147/184] libtool-ltdl-0:2.5.4-10.fc44. 100% | 36.2 MiB/s | 37.0 KiB | 00m00s [148/184] cyrus-sasl-lib-0:2.1.28-35.fc 100% | 156.4 MiB/s | 800.7 KiB | 00m00s [149/184] libffi-0:3.5.2-2.fc44.x86_64 100% | 20.7 MiB/s | 42.4 KiB | 00m00s [150/184] gdbm-libs-1:1.23-11.fc44.x86_ 100% | 28.7 MiB/s | 58.8 KiB | 00m00s [151/184] alternatives-0:1.33-5.fc44.x8 100% | 19.9 MiB/s | 40.8 KiB | 00m00s [152/184] jansson-0:2.14-4.fc44.x86_64 100% | 23.0 MiB/s | 47.1 KiB | 00m00s [153/184] pkgconf-pkg-config-0:2.5.1-1. 100% | 9.2 MiB/s | 9.5 KiB | 00m00s [154/184] pkgconf-0:2.5.1-1.fc45.x86_64 100% | 47.5 MiB/s | 48.7 KiB | 00m00s [155/184] pkgconf-m4-0:2.5.1-1.fc45.noa 100% | 6.7 MiB/s | 13.8 KiB | 00m00s [156/184] libpkgconf-0:2.5.1-1.fc45.x86 100% | 20.8 MiB/s | 42.7 KiB | 00m00s [157/184] p11-kit-trust-0:0.26.2-1.fc45 100% | 71.5 MiB/s | 146.4 KiB | 00m00s [158/184] fedora-release-0:45-0.2.noarc 100% | 6.2 MiB/s | 12.8 KiB | 00m00s [159/184] systemd-standalone-sysusers-0 100% | 119.0 MiB/s | 365.5 KiB | 00m00s [160/184] xxhash-libs-0:0.8.3-4.fc44.x8 100% | 20.1 MiB/s | 41.2 KiB | 00m00s [161/184] fedora-release-identity-basic 100% | 6.6 MiB/s | 13.5 KiB | 00m00s [162/184] binutils-0:2.46-1.fc45.x86_64 100% | 218.1 MiB/s | 6.1 MiB | 00m00s [163/184] libcurl-0:8.19.0~rc2-1.fc45.x 100% | 40.5 MiB/s | 456.4 KiB | 00m00s [164/184] gdb-minimal-0:17.1-5.fc45.x86 100% | 182.1 MiB/s | 4.7 MiB | 00m00s [165/184] libbrotli-0:1.2.0-3.fc44.x86_ 100% | 42.5 MiB/s | 347.8 KiB | 00m00s [166/184] krb5-libs-0:1.22.2-2.fc45.x86 100% | 78.4 MiB/s | 803.3 KiB | 00m00s [167/184] libnghttp2-0:1.68.0-3.fc44.x8 100% | 37.7 MiB/s | 77.2 KiB | 00m00s [168/184] libnghttp3-0:1.15.0-1.fc44.x8 100% | 36.1 MiB/s | 73.9 KiB | 00m00s [169/184] libpsl-0:0.21.5-7.fc44.x86_64 100% | 31.9 MiB/s | 65.3 KiB | 00m00s [170/184] ngtcp2-0:1.19.0-2.fc44.x86_64 100% | 75.6 MiB/s | 154.8 KiB | 00m00s [171/184] libssh-0:0.12.0-1.fc45.x86_64 100% | 71.7 MiB/s | 293.7 KiB | 00m00s [172/184] ngtcp2-crypto-ossl-0:1.19.0-2 100% | 13.4 MiB/s | 27.4 KiB | 00m00s [173/184] keyutils-libs-0:1.6.3-7.fc44. 100% | 30.8 MiB/s | 31.5 KiB | 00m00s [174/184] libcom_err-0:1.47.3-4.fc44.x8 100% | 26.5 MiB/s | 27.1 KiB | 00m00s [175/184] libverto-0:0.3.2-12.fc44.x86_ 100% | 10.3 MiB/s | 21.1 KiB | 00m00s [176/184] publicsuffix-list-dafsa-0:202 100% | 58.9 MiB/s | 60.3 KiB | 00m00s [177/184] libfido2-0:1.16.0-5.fc44.x86_ 100% | 51.0 MiB/s | 104.5 KiB | 00m00s [178/184] libssh-config-0:0.12.0-1.fc45 100% | 9.2 MiB/s | 9.4 KiB | 00m00s [179/184] libcbor-0:0.13.0-2.fc44.x86_6 100% | 35.1 MiB/s | 36.0 KiB | 00m00s [180/184] selinux-policy-0:42.24-1.fc45 100% | 67.4 MiB/s | 69.0 KiB | 00m00s [181/184] policycoreutils-0:3.10-2.fc45 100% | 63.2 MiB/s | 258.8 KiB | 00m00s [182/184] libselinux-utils-0:3.10-1.fc4 100% | 10.6 MiB/s | 119.6 KiB | 00m00s [183/184] rpm-plugin-selinux-0:6.0.1-5. 100% | 2.1 MiB/s | 19.1 KiB | 00m00s [184/184] selinux-policy-targeted-0:42. 100% | 234.9 MiB/s | 6.8 MiB | 00m00s -------------------------------------------------------------------------------- [184/184] Total 100% | 216.7 MiB/s | 69.1 MiB | 00m00s Running transaction Importing OpenPGP key 0xF577861E: UserID : "Fedora (45) " Fingerprint: 4F50A6114CD5C6976A7F1179655A4B02F577861E From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-45-primary The key was successfully imported. Importing OpenPGP key 0xF577861E: UserID : "Fedora (45) " Fingerprint: 4F50A6114CD5C6976A7F1179655A4B02F577861E From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-45-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. Importing OpenPGP key 0x91211FCE: UserID : "Fedora (46) " Fingerprint: D924B10D3E810DABDD8B56B596E7E91491211FCE From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-46-primary The key was successfully imported. [ 1/186] Verify package files 100% | 657.0 B/s | 184.0 B | 00m00s [ 2/186] Prepare transaction 100% | 2.4 KiB/s | 184.0 B | 00m00s [ 3/186] Installing libgcc-0:16.0.1-0. 100% | 266.0 MiB/s | 272.4 KiB | 00m00s [ 4/186] Installing libssh-config-0:0. 100% | 0.0 B/s | 816.0 B | 00m00s [ 5/186] Installing publicsuffix-list- 100% | 0.0 B/s | 71.1 KiB | 00m00s [ 6/186] Installing fedora-release-ide 100% | 0.0 B/s | 920.0 B | 00m00s [ 7/186] Installing fedora-gpg-keys-0: 100% | 29.6 MiB/s | 182.1 KiB | 00m00s [ 8/186] Installing fedora-repos-rawhi 100% | 0.0 B/s | 2.4 KiB | 00m00s [ 9/186] Installing fedora-repos-0:45- 100% | 0.0 B/s | 5.7 KiB | 00m00s [ 10/186] Installing fedora-release-com 100% | 24.3 MiB/s | 24.9 KiB | 00m00s [ 11/186] Installing fedora-release-0:4 100% | 15.1 KiB/s | 124.0 B | 00m00s >>> Running sysusers scriptlet: setup-0:2.15.0-28.fc44.noarch >>> Finished sysusers scriptlet: setup-0:2.15.0-28.fc44.noarch >>> Scriptlet output: >>> Creating group 'adm' with GID 4. >>> Creating group 'audio' with GID 63. >>> Creating group 'cdrom' with GID 11. >>> Creating group 'clock' with GID 103. >>> 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. >>> Creating user 'adm' (adm) with UID 3 and GID 4. >>> Creating group 'bin' with GID 1. >>> Creating user 'bin' (bin) with UID 1 and GID 1. >>> Creating group 'daemon' with GID 2. >>> 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 100. >>> 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/186] Installing setup-0:2.15.0-28. 100% | 44.6 MiB/s | 730.6 KiB | 00m00s >>> [RPM] /etc/hosts created as /etc/hosts.rpmnew [ 13/186] Installing filesystem-0:3.18- 100% | 2.0 MiB/s | 212.8 KiB | 00m00s [ 14/186] Installing pkgconf-m4-0:2.5.1 100% | 14.4 MiB/s | 14.7 KiB | 00m00s [ 15/186] Installing pcre2-syntax-0:10. 100% | 277.7 MiB/s | 284.3 KiB | 00m00s [ 16/186] Installing gnulib-l10n-0:2024 100% | 161.6 MiB/s | 661.9 KiB | 00m00s [ 17/186] Installing coreutils-common-0 100% | 305.3 MiB/s | 10.7 MiB | 00m00s [ 18/186] Installing ncurses-base-0:6.6 100% | 57.8 MiB/s | 355.3 KiB | 00m00s [ 19/186] Installing bash-0:5.3.9-3.fc4 100% | 242.3 MiB/s | 8.5 MiB | 00m00s [ 20/186] Installing glibc-common-0:2.4 100% | 57.2 MiB/s | 1.0 MiB | 00m00s [ 21/186] Installing glibc-gconv-extra- 100% | 221.7 MiB/s | 7.8 MiB | 00m00s [ 22/186] Installing glibc-0:2.43.9000- 100% | 169.9 MiB/s | 7.0 MiB | 00m00s [ 23/186] Installing ncurses-libs-0:6.6 100% | 238.1 MiB/s | 975.4 KiB | 00m00s [ 24/186] Installing glibc-minimal-lang 100% | 0.0 B/s | 124.0 B | 00m00s [ 25/186] Installing zlib-ng-compat-0:2 100% | 162.5 MiB/s | 166.4 KiB | 00m00s [ 26/186] Installing bzip2-libs-0:1.0.8 100% | 79.7 MiB/s | 81.6 KiB | 00m00s [ 27/186] Installing libgpg-error-0:1.5 100% | 58.1 MiB/s | 952.3 KiB | 00m00s [ 28/186] Installing libstdc++-0:16.0.1 100% | 292.2 MiB/s | 2.9 MiB | 00m00s [ 29/186] Installing libassuan-0:2.5.7- 100% | 161.8 MiB/s | 165.7 KiB | 00m00s [ 30/186] Installing libgcrypt-0:1.12.1 100% | 331.6 MiB/s | 1.7 MiB | 00m00s [ 31/186] Installing readline-0:8.3-4.f 100% | 254.7 MiB/s | 521.6 KiB | 00m00s [ 32/186] Installing gmp-1:6.3.0-5.fc44 100% | 266.1 MiB/s | 817.5 KiB | 00m00s [ 33/186] Installing xz-libs-1:5.8.2-2. 100% | 213.7 MiB/s | 218.8 KiB | 00m00s [ 34/186] Installing libuuid-0:2.41.3-1 100% | 37.3 MiB/s | 38.2 KiB | 00m00s [ 35/186] Installing systemd-libs-0:260 100% | 318.4 MiB/s | 2.5 MiB | 00m00s [ 36/186] Installing popt-0:1.19-10.fc4 100% | 45.3 MiB/s | 139.3 KiB | 00m00s [ 37/186] Installing libzstd-0:1.5.7-5. 100% | 311.6 MiB/s | 957.4 KiB | 00m00s [ 38/186] Installing elfutils-libelf-0: 100% | 376.3 MiB/s | 1.1 MiB | 00m00s [ 39/186] Installing npth-0:1.8-4.fc44. 100% | 0.0 B/s | 50.6 KiB | 00m00s [ 40/186] Installing libblkid-0:2.41.3- 100% | 269.0 MiB/s | 275.4 KiB | 00m00s [ 41/186] Installing libsepol-0:3.10-1. 100% | 283.5 MiB/s | 871.0 KiB | 00m00s [ 42/186] Installing sqlite-libs-0:3.51 100% | 318.1 MiB/s | 1.6 MiB | 00m00s [ 43/186] Installing gnupg2-gpgconf-0:2 100% | 18.9 MiB/s | 251.8 KiB | 00m00s [ 44/186] Installing libattr-0:2.5.2-8. 100% | 0.0 B/s | 25.2 KiB | 00m00s [ 45/186] Installing libacl-0:2.3.2-6.f 100% | 0.0 B/s | 36.6 KiB | 00m00s [ 46/186] Installing pcre2-0:10.47-1.fc 100% | 351.6 MiB/s | 720.0 KiB | 00m00s [ 47/186] Installing libselinux-0:3.10- 100% | 197.5 MiB/s | 202.3 KiB | 00m00s [ 48/186] Installing grep-0:3.12-3.fc44 100% | 59.0 MiB/s | 1.0 MiB | 00m00s [ 49/186] Installing sed-0:4.9-8.fc45.x 100% | 52.8 MiB/s | 865.4 KiB | 00m00s [ 50/186] Installing findutils-1:4.10.0 100% | 98.4 MiB/s | 1.9 MiB | 00m00s [ 51/186] Installing libxcrypt-0:4.5.2- 100% | 144.5 MiB/s | 295.9 KiB | 00m00s [ 52/186] Installing libtasn1-0:4.20.0- 100% | 177.7 MiB/s | 182.0 KiB | 00m00s [ 53/186] Installing libunistring-0:1.1 100% | 289.1 MiB/s | 1.7 MiB | 00m00s [ 54/186] Installing libidn2-0:2.3.8-3. 100% | 45.8 MiB/s | 562.6 KiB | 00m00s [ 55/186] Installing crypto-policies-0: 100% | 22.0 MiB/s | 157.7 KiB | 00m00s [ 56/186] Installing xz-1:5.8.2-2.fc44. 100% | 65.2 MiB/s | 1.4 MiB | 00m00s [ 57/186] Installing libmount-0:2.41.3- 100% | 190.3 MiB/s | 389.7 KiB | 00m00s [ 58/186] Installing gnupg2-verify-0:2. 100% | 27.2 MiB/s | 361.7 KiB | 00m00s [ 59/186] Installing dwz-0:0.16-3.fc44. 100% | 22.0 MiB/s | 292.3 KiB | 00m00s [ 60/186] Installing mpfr-0:4.2.2-3.fc4 100% | 207.7 MiB/s | 850.8 KiB | 00m00s [ 61/186] Installing gawk-0:5.4.0-1.fc4 100% | 111.7 MiB/s | 2.2 MiB | 00m00s [ 62/186] Installing libksba-0:1.6.8-1. 100% | 207.2 MiB/s | 424.4 KiB | 00m00s [ 63/186] Installing unzip-0:6.0-69.fc4 100% | 31.3 MiB/s | 449.3 KiB | 00m00s [ 64/186] Installing file-libs-0:5.46-9 100% | 593.1 MiB/s | 11.9 MiB | 00m00s [ 65/186] Installing file-0:5.46-9.fc44 100% | 8.3 MiB/s | 101.6 KiB | 00m00s [ 66/186] Installing diffutils-0:3.12-5 100% | 87.4 MiB/s | 1.6 MiB | 00m00s [ 67/186] Installing libeconf-0:0.7.9-3 100% | 64.9 MiB/s | 66.4 KiB | 00m00s [ 68/186] Installing libcap-ng-0:0.9.1- 100% | 68.9 MiB/s | 70.6 KiB | 00m00s [ 69/186] Installing audit-libs-0:4.1.3 100% | 191.9 MiB/s | 393.1 KiB | 00m00s [ 70/186] Installing pam-libs-0:1.7.2-1 100% | 129.8 MiB/s | 132.9 KiB | 00m00s [ 71/186] Installing libcap-0:2.77-2.fc 100% | 13.3 MiB/s | 217.2 KiB | 00m00s [ 72/186] Installing libsemanage-0:3.10 100% | 153.4 MiB/s | 314.1 KiB | 00m00s [ 73/186] Installing libsmartcols-0:2.4 100% | 184.9 MiB/s | 189.3 KiB | 00m00s [ 74/186] Installing lua-libs-0:5.5.0-1 100% | 292.4 MiB/s | 299.4 KiB | 00m00s [ 75/186] Installing json-c-0:0.18-8.fc 100% | 81.9 MiB/s | 83.9 KiB | 00m00s [ 76/186] Installing libffi-0:3.5.2-2.f 100% | 87.0 MiB/s | 89.1 KiB | 00m00s [ 77/186] Installing p11-kit-0:0.26.2-1 100% | 112.8 MiB/s | 2.6 MiB | 00m00s [ 78/186] Installing alternatives-0:1.3 100% | 5.2 MiB/s | 63.6 KiB | 00m00s [ 79/186] Installing p11-kit-trust-0:0. 100% | 22.3 MiB/s | 480.0 KiB | 00m00s [ 80/186] Installing ngtcp2-0:1.19.0-2. 100% | 162.0 MiB/s | 331.7 KiB | 00m00s [ 81/186] Installing openssl-libs-1:3.5 100% | 353.4 MiB/s | 9.2 MiB | 00m00s [ 82/186] Installing coreutils-0:9.10-2 100% | 149.8 MiB/s | 5.7 MiB | 00m00s [ 83/186] Installing ca-certificates-0: 100% | 1.7 MiB/s | 2.5 MiB | 00m01s [ 84/186] Installing gzip-0:1.14-2.fc44 100% | 26.5 MiB/s | 407.1 KiB | 00m00s [ 85/186] Installing rpm-sequoia-0:1.10 100% | 337.8 MiB/s | 2.4 MiB | 00m00s [ 86/186] Installing libfsverity-0:1.7- 100% | 28.7 MiB/s | 29.4 KiB | 00m00s [ 87/186] Installing libevent-0:2.1.12- 100% | 319.8 MiB/s | 982.4 KiB | 00m00s [ 88/186] Installing systemd-standalone 100% | 58.4 MiB/s | 837.8 KiB | 00m00s [ 89/186] Installing rpm-libs-0:6.0.1-5 100% | 235.0 MiB/s | 962.8 KiB | 00m00s [ 90/186] Installing ngtcp2-crypto-ossl 100% | 51.2 MiB/s | 52.5 KiB | 00m00s [ 91/186] Installing util-linux-core-0: 100% | 78.0 MiB/s | 1.5 MiB | 00m00s [ 92/186] Installing zip-0:3.0-45.fc44. 100% | 49.0 MiB/s | 701.9 KiB | 00m00s [ 93/186] Installing gnupg2-keyboxd-0:2 100% | 24.7 MiB/s | 202.5 KiB | 00m00s [ 94/186] Installing libpsl-0:0.21.5-7. 100% | 75.6 MiB/s | 77.4 KiB | 00m00s [ 95/186] Installing tar-2:1.35-8.fc44. 100% | 129.5 MiB/s | 3.0 MiB | 00m00s [ 96/186] Installing linkdupes-0:0.7.2- 100% | 51.5 MiB/s | 790.7 KiB | 00m00s [ 97/186] Installing libselinux-utils-0 100% | 20.8 MiB/s | 320.1 KiB | 00m00s [ 98/186] Installing liblastlog2-0:2.41 100% | 5.6 MiB/s | 39.8 KiB | 00m00s [ 99/186] Installing libfdisk-0:2.41.3- 100% | 126.8 MiB/s | 389.4 KiB | 00m00s [100/186] Installing util-linux-0:2.41. 100% | 85.3 MiB/s | 3.6 MiB | 00m00s [101/186] Installing policycoreutils-0: 100% | 29.7 MiB/s | 912.8 KiB | 00m00s [102/186] Installing selinux-policy-0:4 100% | 1.4 MiB/s | 33.6 KiB | 00m00s [103/186] Installing selinux-policy-tar 100% | 138.4 MiB/s | 14.8 MiB | 00m00s [104/186] Installing zstd-0:1.5.7-5.fc4 100% | 30.9 MiB/s | 506.0 KiB | 00m00s [105/186] Installing libusb1-0:1.0.29-5 100% | 15.7 MiB/s | 176.9 KiB | 00m00s >>> Running sysusers scriptlet: tpm2-tss-0:4.1.3-9.fc44.x86_64 >>> Finished sysusers scriptlet: tpm2-tss-0:4.1.3-9.fc44.x86_64 >>> Scriptlet output: >>> Creating group 'tss' with GID 59. >>> Creating user 'tss' (Account used for TPM access) with UID 59 and GID 59. >>> [106/186] Installing tpm2-tss-0:4.1.3-9 100% | 233.3 MiB/s | 1.6 MiB | 00m00s [107/186] Installing ima-evm-utils-libs 100% | 60.4 MiB/s | 61.9 KiB | 00m00s [108/186] Installing gnupg2-gpg-agent-0 100% | 30.5 MiB/s | 686.5 KiB | 00m00s [109/186] Installing libxml2-0:2.12.10- 100% | 98.4 MiB/s | 1.8 MiB | 00m00s [110/186] Installing nettle-0:3.10.1-3. 100% | 259.6 MiB/s | 797.4 KiB | 00m00s [111/186] Installing gnutls-0:3.8.12-1. 100% | 311.3 MiB/s | 3.7 MiB | 00m00s [112/186] Installing bzip2-0:1.0.8-23.f 100% | 7.5 MiB/s | 99.5 KiB | 00m00s [113/186] Installing add-determinism-0: 100% | 121.7 MiB/s | 2.2 MiB | 00m00s [114/186] Installing build-reproducibil 100% | 0.0 B/s | 1.5 KiB | 00m00s [115/186] Installing cpio-0:2.15-9.fc44 100% | 64.9 MiB/s | 1.1 MiB | 00m00s [116/186] Installing ed-0:1.22.5-2.fc45 100% | 11.4 MiB/s | 152.0 KiB | 00m00s [117/186] Installing patch-0:2.8-4.fc44 100% | 17.1 MiB/s | 228.1 KiB | 00m00s [118/186] Installing lz4-libs-0:1.10.0- 100% | 154.6 MiB/s | 158.4 KiB | 00m00s [119/186] Installing libarchive-0:3.8.4 100% | 242.5 MiB/s | 993.1 KiB | 00m00s [120/186] Installing libgomp-0:16.0.1-0 100% | 280.2 MiB/s | 573.9 KiB | 00m00s [121/186] Installing libtool-ltdl-0:2.5 100% | 69.5 MiB/s | 71.1 KiB | 00m00s [122/186] Installing gdbm-libs-1:1.23-1 100% | 128.3 MiB/s | 131.3 KiB | 00m00s [123/186] Installing cyrus-sasl-lib-0:2 100% | 121.6 MiB/s | 2.3 MiB | 00m00s [124/186] Installing openldap-0:2.6.10- 100% | 218.5 MiB/s | 671.3 KiB | 00m00s [125/186] Installing gnupg2-dirmngr-0:2 100% | 27.0 MiB/s | 636.6 KiB | 00m00s [126/186] Installing gnupg2-0:2.4.9-5.f 100% | 197.2 MiB/s | 6.5 MiB | 00m00s [127/186] Installing rpm-sign-libs-0:6. 100% | 39.4 MiB/s | 40.3 KiB | 00m00s [128/186] Installing gpgverify-0:2.2-4. 100% | 0.0 B/s | 9.4 KiB | 00m00s [129/186] Installing jansson-0:2.14-4.f 100% | 88.2 MiB/s | 90.3 KiB | 00m00s [130/186] Installing libpkgconf-0:2.5.1 100% | 89.1 MiB/s | 91.3 KiB | 00m00s [131/186] Installing pkgconf-0:2.5.1-1. 100% | 7.2 MiB/s | 95.2 KiB | 00m00s [132/186] Installing pkgconf-pkg-config 100% | 147.8 KiB/s | 1.8 KiB | 00m00s [133/186] Installing xxhash-libs-0:0.8. 100% | 93.2 MiB/s | 95.4 KiB | 00m00s [134/186] Installing libbrotli-0:1.2.0- 100% | 211.7 MiB/s | 867.3 KiB | 00m00s [135/186] Installing libnghttp2-0:1.68. 100% | 163.3 MiB/s | 167.3 KiB | 00m00s [136/186] Installing libnghttp3-0:1.15. 100% | 156.8 MiB/s | 160.6 KiB | 00m00s [137/186] Installing keyutils-libs-0:1. 100% | 54.3 MiB/s | 55.6 KiB | 00m00s [138/186] Installing libcom_err-0:1.47. 100% | 62.6 MiB/s | 64.1 KiB | 00m00s [139/186] Installing libverto-0:0.3.2-1 100% | 26.4 MiB/s | 27.1 KiB | 00m00s [140/186] Installing krb5-libs-0:1.22.2 100% | 266.5 MiB/s | 2.4 MiB | 00m00s [141/186] Installing libcbor-0:0.13.0-2 100% | 79.0 MiB/s | 80.9 KiB | 00m00s [142/186] Installing libfido2-0:1.16.0- 100% | 121.1 MiB/s | 247.9 KiB | 00m00s [143/186] Installing libssh-0:0.12.0-1. 100% | 234.8 MiB/s | 721.2 KiB | 00m00s [144/186] Installing libcurl-0:8.19.0~r 100% | 249.5 MiB/s | 1.0 MiB | 00m00s [145/186] Installing curl-0:8.19.0~rc2- 100% | 17.4 MiB/s | 482.0 KiB | 00m00s [146/186] Installing rpm-0:6.0.1-5.fc45 100% | 65.4 MiB/s | 2.6 MiB | 00m00s [147/186] Installing cmake-srpm-macros- 100% | 0.0 B/s | 804.0 B | 00m00s [148/186] Installing efi-srpm-macros-0: 100% | 40.2 MiB/s | 41.2 KiB | 00m00s [149/186] Installing java-srpm-macros-0 100% | 0.0 B/s | 1.1 KiB | 00m00s [150/186] Installing lua-srpm-macros-0: 100% | 0.0 B/s | 1.9 KiB | 00m00s [151/186] Installing tree-sitter-srpm-m 100% | 0.0 B/s | 9.3 KiB | 00m00s [152/186] Installing zig-srpm-macros-0: 100% | 0.0 B/s | 1.9 KiB | 00m00s [153/186] Installing filesystem-srpm-ma 100% | 0.0 B/s | 38.9 KiB | 00m00s [154/186] Installing elfutils-default-y 100% | 340.5 KiB/s | 2.0 KiB | 00m00s [155/186] Installing elfutils-libs-0:0. 100% | 233.4 MiB/s | 717.0 KiB | 00m00s [156/186] Installing elfutils-debuginfo 100% | 6.0 MiB/s | 86.0 KiB | 00m00s [157/186] Installing elfutils-0:0.194-3 100% | 140.9 MiB/s | 3.0 MiB | 00m00s [158/186] Installing binutils-0:2.46-1. 100% | 290.2 MiB/s | 27.3 MiB | 00m00s [159/186] Installing gdb-minimal-0:17.1 100% | 273.0 MiB/s | 14.2 MiB | 00m00s [160/186] Installing debugedit-0:5.2-6. 100% | 15.5 MiB/s | 221.6 KiB | 00m00s [161/186] Installing rpm-build-libs-0:6 100% | 270.7 MiB/s | 277.2 KiB | 00m00s [162/186] Installing rust-srpm-macros-0 100% | 6.2 MiB/s | 6.4 KiB | 00m00s [163/186] Installing qt6-srpm-macros-0: 100% | 0.0 B/s | 748.0 B | 00m00s [164/186] Installing qt5-srpm-macros-0: 100% | 0.0 B/s | 776.0 B | 00m00s [165/186] Installing perl-srpm-macros-0 100% | 0.0 B/s | 1.1 KiB | 00m00s [166/186] Installing package-notes-srpm 100% | 0.0 B/s | 2.1 KiB | 00m00s [167/186] Installing openblas-srpm-macr 100% | 0.0 B/s | 392.0 B | 00m00s [168/186] Installing ocaml-srpm-macros- 100% | 0.0 B/s | 2.1 KiB | 00m00s [169/186] Installing kernel-srpm-macros 100% | 0.0 B/s | 2.3 KiB | 00m00s [170/186] Installing gnat-srpm-macros-0 100% | 0.0 B/s | 1.3 KiB | 00m00s [171/186] Installing ghc-srpm-macros-0: 100% | 0.0 B/s | 1.0 KiB | 00m00s [172/186] Installing gap-srpm-macros-0: 100% | 0.0 B/s | 2.7 KiB | 00m00s [173/186] Installing fpc-srpm-macros-0: 100% | 0.0 B/s | 420.0 B | 00m00s [174/186] Installing ansible-srpm-macro 100% | 35.4 MiB/s | 36.2 KiB | 00m00s [175/186] Installing redhat-rpm-config- 100% | 26.5 MiB/s | 189.9 KiB | 00m00s [176/186] Installing forge-srpm-macros- 100% | 39.3 MiB/s | 40.3 KiB | 00m00s [177/186] Installing fonts-srpm-macros- 100% | 55.7 MiB/s | 57.0 KiB | 00m00s [178/186] Installing go-srpm-macros-0:3 100% | 61.6 MiB/s | 63.0 KiB | 00m00s [179/186] Installing rpm-build-0:6.0.1- 100% | 19.8 MiB/s | 303.7 KiB | 00m00s [180/186] Installing pyproject-srpm-mac 100% | 0.0 B/s | 2.5 KiB | 00m00s [181/186] Installing R-srpm-macros-0:1. 100% | 0.0 B/s | 4.4 KiB | 00m00s [182/186] Installing python-srpm-macros 100% | 51.7 MiB/s | 52.9 KiB | 00m00s [183/186] Installing rpm-plugin-selinux 100% | 12.6 MiB/s | 12.9 KiB | 00m00s [184/186] Installing which-0:2.23-4.fc4 100% | 6.0 MiB/s | 85.6 KiB | 00m00s [185/186] Installing shadow-utils-2:4.1 100% | 114.9 MiB/s | 4.0 MiB | 00m00s [186/186] Installing info-0:7.2-9.fc45. 100% | 45.9 KiB/s | 366.0 KiB | 00m08s Complete! Finish: installing minimal buildroot with dnf5 Start: creating root cache Finish: creating root cache Finish: chroot init INFO: Installed packages: INFO: R-srpm-macros-1.3.5-1.fc45.noarch add-determinism-0.7.2-4.fc45.x86_64 alternatives-1.33-5.fc44.x86_64 ansible-srpm-macros-1-20.1.fc44.noarch audit-libs-4.1.3-1.fc44.x86_64 bash-5.3.9-3.fc44.x86_64 binutils-2.46-1.fc45.x86_64 build-reproducibility-srpm-macros-0.7.2-4.fc45.noarch bzip2-1.0.8-23.fc44.x86_64 bzip2-libs-1.0.8-23.fc44.x86_64 ca-certificates-2025.2.80_v9.0.304-5.fc44.noarch cmake-srpm-macros-4.2.3-2.fc45.noarch coreutils-9.10-2.fc45.x86_64 coreutils-common-9.10-2.fc45.x86_64 cpio-2.15-9.fc44.x86_64 crypto-policies-20251128-3.git19878fe.fc44.noarch curl-8.19.0~rc2-1.fc45.x86_64 cyrus-sasl-lib-2.1.28-35.fc44.x86_64 debugedit-5.2-6.fc44.x86_64 diffutils-3.12-5.fc44.x86_64 dwz-0.16-3.fc44.x86_64 ed-1.22.5-2.fc45.x86_64 efi-srpm-macros-6-6.fc44.noarch elfutils-0.194-3.fc44.x86_64 elfutils-debuginfod-client-0.194-3.fc44.x86_64 elfutils-default-yama-scope-0.194-3.fc44.noarch elfutils-libelf-0.194-3.fc44.x86_64 elfutils-libs-0.194-3.fc44.x86_64 fedora-gpg-keys-45-0.1.noarch fedora-release-45-0.2.noarch fedora-release-common-45-0.2.noarch fedora-release-identity-basic-45-0.2.noarch fedora-repos-45-0.1.noarch fedora-repos-rawhide-45-0.1.noarch file-5.46-9.fc44.x86_64 file-libs-5.46-9.fc44.x86_64 filesystem-3.18-52.fc44.x86_64 filesystem-srpm-macros-3.18-52.fc44.noarch findutils-4.10.0-7.fc44.x86_64 fonts-srpm-macros-5.0.0-3.fc45.noarch forge-srpm-macros-0.4.0-4.fc44.noarch fpc-srpm-macros-1.3-16.fc44.noarch gap-srpm-macros-2-2.fc44.noarch gawk-5.4.0-1.fc45.x86_64 gdb-minimal-17.1-5.fc45.x86_64 gdbm-libs-1.23-11.fc44.x86_64 ghc-srpm-macros-1.10-1.fc44.noarch glibc-2.43.9000-2.fc45.x86_64 glibc-common-2.43.9000-2.fc45.x86_64 glibc-gconv-extra-2.43.9000-2.fc45.x86_64 glibc-minimal-langpack-2.43.9000-2.fc45.x86_64 gmp-6.3.0-5.fc44.x86_64 gnat-srpm-macros-7-2.fc44.noarch gnulib-l10n-20241231-2.fc44.noarch gnupg2-2.4.9-5.fc44.x86_64 gnupg2-dirmngr-2.4.9-5.fc44.x86_64 gnupg2-gpg-agent-2.4.9-5.fc44.x86_64 gnupg2-gpgconf-2.4.9-5.fc44.x86_64 gnupg2-keyboxd-2.4.9-5.fc44.x86_64 gnupg2-verify-2.4.9-5.fc44.x86_64 gnutls-3.8.12-1.fc45.x86_64 go-srpm-macros-3.8.0-2.fc44.noarch gpg-pubkey-36f612dcf27f7d1a48a835e4dbfcf71c6d9f90a6-6786af3b gpg-pubkey-4f50a6114cd5c6976a7f1179655a4b02f577861e-6888bc98 gpg-pubkey-d924b10d3e810dabdd8b56b596e7e91491211fce-697c9899 gpgverify-2.2-4.fc44.noarch grep-3.12-3.fc44.x86_64 gzip-1.14-2.fc44.x86_64 ima-evm-utils-libs-1.6.2-8.fc44.x86_64 info-7.2-9.fc45.x86_64 jansson-2.14-4.fc44.x86_64 java-srpm-macros-1-8.fc44.noarch json-c-0.18-8.fc44.x86_64 kernel-srpm-macros-1.0-28.fc44.noarch keyutils-libs-1.6.3-7.fc44.x86_64 krb5-libs-1.22.2-2.fc45.x86_64 libacl-2.3.2-6.fc44.x86_64 libarchive-3.8.4-2.fc44.x86_64 libassuan-2.5.7-5.fc44.x86_64 libattr-2.5.2-8.fc44.x86_64 libblkid-2.41.3-12.fc44.x86_64 libbrotli-1.2.0-3.fc44.x86_64 libcap-2.77-2.fc44.x86_64 libcap-ng-0.9.1-1.fc45.x86_64 libcbor-0.13.0-2.fc44.x86_64 libcom_err-1.47.3-4.fc44.x86_64 libcurl-8.19.0~rc2-1.fc45.x86_64 libeconf-0.7.9-3.fc44.x86_64 libevent-2.1.12-17.fc44.x86_64 libfdisk-2.41.3-12.fc44.x86_64 libffi-3.5.2-2.fc44.x86_64 libfido2-1.16.0-5.fc44.x86_64 libfsverity-1.7-1.fc45.x86_64 libgcc-16.0.1-0.7.fc45.x86_64 libgcrypt-1.12.1-1.fc45.x86_64 libgomp-16.0.1-0.7.fc45.x86_64 libgpg-error-1.59-1.fc45.x86_64 libidn2-2.3.8-3.fc44.x86_64 libksba-1.6.8-1.fc45.x86_64 liblastlog2-2.41.3-12.fc44.x86_64 libmount-2.41.3-12.fc44.x86_64 libnghttp2-1.68.0-3.fc44.x86_64 libnghttp3-1.15.0-1.fc44.x86_64 libpkgconf-2.5.1-1.fc45.x86_64 libpsl-0.21.5-7.fc44.x86_64 libselinux-3.10-1.fc44.x86_64 libselinux-utils-3.10-1.fc44.x86_64 libsemanage-3.10-1.fc44.x86_64 libsepol-3.10-1.fc44.x86_64 libsmartcols-2.41.3-12.fc44.x86_64 libssh-0.12.0-1.fc45.x86_64 libssh-config-0.12.0-1.fc45.noarch libstdc++-16.0.1-0.7.fc45.x86_64 libtasn1-4.20.0-3.fc44.x86_64 libtool-ltdl-2.5.4-10.fc44.x86_64 libunistring-1.1-11.fc44.x86_64 libusb1-1.0.29-5.fc44.x86_64 libuuid-2.41.3-12.fc44.x86_64 libverto-0.3.2-12.fc44.x86_64 libxcrypt-4.5.2-3.fc44.x86_64 libxml2-2.12.10-6.fc44.x86_64 libzstd-1.5.7-5.fc44.x86_64 linkdupes-0.7.2-4.fc45.x86_64 lua-libs-5.5.0-1.fc45.x86_64 lua-srpm-macros-1-17.fc44.noarch lz4-libs-1.10.0-4.fc44.x86_64 mpfr-4.2.2-3.fc44.x86_64 ncurses-base-6.6-1.fc44.noarch ncurses-libs-6.6-1.fc44.x86_64 nettle-3.10.1-3.fc44.x86_64 ngtcp2-1.19.0-2.fc44.x86_64 ngtcp2-crypto-ossl-1.19.0-2.fc44.x86_64 npth-1.8-4.fc44.x86_64 ocaml-srpm-macros-11-3.fc44.noarch openblas-srpm-macros-2-21.fc44.noarch openldap-2.6.10-7.fc44.x86_64 openssl-libs-3.5.5-1.fc44.x86_64 p11-kit-0.26.2-1.fc45.x86_64 p11-kit-trust-0.26.2-1.fc45.x86_64 package-notes-srpm-macros-0.17-3.fc45.noarch pam-libs-1.7.2-1.fc44.x86_64 patch-2.8-4.fc44.x86_64 pcre2-10.47-1.fc44.1.x86_64 pcre2-syntax-10.47-1.fc44.1.noarch perl-srpm-macros-1-61.fc44.noarch pkgconf-2.5.1-1.fc45.x86_64 pkgconf-m4-2.5.1-1.fc45.noarch pkgconf-pkg-config-2.5.1-1.fc45.x86_64 policycoreutils-3.10-2.fc45.x86_64 popt-1.19-10.fc44.x86_64 publicsuffix-list-dafsa-20260116-1.fc44.noarch pyproject-srpm-macros-1.18.6-2.fc44.noarch python-srpm-macros-3.14-10.fc44.noarch qt5-srpm-macros-5.15.18-2.fc44.noarch qt6-srpm-macros-6.10.2-1.fc45.noarch readline-8.3-4.fc44.x86_64 redhat-rpm-config-343-20.fc45.noarch rpm-6.0.1-5.fc45.x86_64 rpm-build-6.0.1-5.fc45.x86_64 rpm-build-libs-6.0.1-5.fc45.x86_64 rpm-libs-6.0.1-5.fc45.x86_64 rpm-plugin-selinux-6.0.1-5.fc45.x86_64 rpm-sequoia-1.10.1-1.fc45.x86_64 rpm-sign-libs-6.0.1-5.fc45.x86_64 rust-srpm-macros-28.4-3.fc44.noarch sed-4.9-8.fc45.x86_64 selinux-policy-42.24-1.fc45.noarch selinux-policy-targeted-42.24-1.fc45.noarch setup-2.15.0-28.fc44.noarch shadow-utils-4.19.3-1.fc45.x86_64 sqlite-libs-3.51.2-1.fc44.x86_64 systemd-libs-260~rc1-5.fc45.x86_64 systemd-standalone-sysusers-260~rc1-5.fc45.x86_64 tar-1.35-8.fc44.x86_64 tpm2-tss-4.1.3-9.fc44.x86_64 tree-sitter-srpm-macros-0.4.2-2.fc44.noarch unzip-6.0-69.fc44.x86_64 util-linux-2.41.3-12.fc44.x86_64 util-linux-core-2.41.3-12.fc44.x86_64 which-2.23-4.fc44.x86_64 xxhash-libs-0.8.3-4.fc44.x86_64 xz-5.8.2-2.fc44.x86_64 xz-libs-5.8.2-2.fc44.x86_64 zig-srpm-macros-1-8.fc44.noarch zip-3.0-45.fc44.x86_64 zlib-ng-compat-2.3.3-5.fc45.x86_64 zstd-1.5.7-5.fc44.x86_64 Start: buildsrpm Start: rpmbuild -bs Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1772409600 Wrote: /builddir/build/SRPMS/python-pydocket-0.17.9-1.fc45.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-x86_64-1772505701.061359/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-phf4swmu/python-pydocket/python-pydocket.spec) Config(child) 0 minutes 29 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-pydocket-0.17.9-1.fc45.src.rpm) Config(fedora-rawhide-x86_64) Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1772505701.061359/root. INFO: reusing tmpfs at /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1772505701.061359/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-x86_64-1772505701.061359/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-6.0.1-5.fc45.x86_64 rpm-sequoia-1.10.1-1.fc45.x86_64 dnf5-5.4.0.0-2.fc45.x86_64 dnf5-plugins-5.4.0.0-2.fc45.x86_64 Finish: chroot init Start: build phase for python-pydocket-0.17.9-1.fc45.src.rpm Start: build setup for python-pydocket-0.17.9-1.fc45.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1772409600 Wrote: /builddir/build/SRPMS/python-pydocket-0.17.9-1.fc45.src.rpm Updating and loading repositories: fedora 100% | 100.9 KiB/s | 44.2 KiB | 00m00s Copr repository 100% | 3.6 KiB/s | 1.5 KiB | 00m00s Repositories loaded. Package Arch Version Repository Size Installing: python3-devel x86_64 0:3.14.3-1.fc45 fedora 1.9 MiB python3-docker noarch 0:7.1.0-10.fc44 fedora 1.1 MiB python3-fakeredis noarch 0:2.34.0-1.fc45 fedora 1.2 MiB python3-pytest noarch 0:8.4.2-2.fc44 fedora 22.5 MiB python3-pytest-asyncio noarch 0:1.1.0-3.fc44 fedora 131.1 KiB python3-pytest-xdist noarch 0:3.7.0-6.fc44 fedora 468.8 KiB tomcli noarch 0:0.10.1-4.fc44 fedora 150.3 KiB Installing dependencies: expat x86_64 0:2.7.3-2.fc44 fedora 316.8 KiB mpdecimal x86_64 0:4.0.1-3.fc44 fedora 217.1 KiB pyproject-rpm-macros noarch 0:1.18.6-2.fc44 fedora 115.6 KiB python-pip-wheel noarch 0:26.0.1-1.fc45 fedora 1.2 MiB python-rpm-macros noarch 0:3.14-10.fc44 fedora 27.6 KiB python3 x86_64 0:3.14.3-1.fc45 fedora 28.7 KiB python3-charset-normalizer noarch 0:3.4.4-2.fc44 fedora 356.2 KiB python3-click noarch 1:8.3.1-1.fc45 fedora 1.2 MiB python3-execnet noarch 0:2.1.2-2.fc44 fedora 970.6 KiB python3-idna noarch 0:3.11-2.fc44 fedora 738.4 KiB python3-iniconfig noarch 0:2.3.0-2.fc44 fedora 49.8 KiB python3-libs x86_64 0:3.14.3-1.fc45 fedora 43.7 MiB python3-packaging noarch 0:26.0-1.fc45 fedora 732.3 KiB python3-pluggy noarch 0:1.6.0-5.fc44 fedora 211.5 KiB python3-pygments noarch 0:2.19.1-9.fc44 fedora 11.3 MiB python3-redis noarch 0:5.2.1-8.fc44 fedora 2.5 MiB python3-requests noarch 0:2.32.5-3.fc44 fedora 476.9 KiB python3-rpm-generators noarch 0:14-14.fc44 fedora 81.7 KiB python3-rpm-macros noarch 0:3.14-10.fc44 fedora 6.5 KiB python3-sortedcontainers noarch 0:2.4.0-26.fc44 fedora 392.9 KiB python3-tomlkit noarch 0:0.13.2-7.fc44 fedora 493.9 KiB python3-urllib3 noarch 0:2.6.3-2.fc44 fedora 1.1 MiB tomcli+tomlkit noarch 0:0.10.1-4.fc44 fedora 0.0 B tzdata noarch 0:2025c-2.fc44 fedora 1.2 MiB Transaction Summary: Installing: 31 packages Total size of inbound packages is 21 MiB. Need to download 21 MiB. After this operation, 95 MiB extra will be used (install 95 MiB, remove 0 B). [ 1/31] python3-fakeredis-0:2.34.0-1.fc 100% | 18.1 MiB/s | 352.7 KiB | 00m00s [ 2/31] python3-pytest-asyncio-0:1.1.0- 100% | 8.1 MiB/s | 41.3 KiB | 00m00s [ 3/31] python3-docker-0:7.1.0-10.fc44. 100% | 11.6 MiB/s | 297.3 KiB | 00m00s [ 4/31] python3-pytest-xdist-0:3.7.0-6. 100% | 28.7 MiB/s | 117.5 KiB | 00m00s [ 5/31] tomcli-0:0.10.1-4.fc44.noarch 100% | 18.3 MiB/s | 75.0 KiB | 00m00s [ 6/31] python3-devel-0:3.14.3-1.fc45.x 100% | 142.3 MiB/s | 437.2 KiB | 00m00s [ 7/31] python3-requests-0:2.32.5-3.fc4 100% | 52.1 MiB/s | 160.1 KiB | 00m00s [ 8/31] python3-urllib3-0:2.6.3-2.fc44. 100% | 98.3 MiB/s | 301.9 KiB | 00m00s [ 9/31] python3-pytest-0:8.4.2-2.fc44.n 100% | 59.4 MiB/s | 2.3 MiB | 00m00s [10/31] python3-sortedcontainers-0:2.4. 100% | 12.5 MiB/s | 64.0 KiB | 00m00s [11/31] python3-redis-0:5.2.1-8.fc44.no 100% | 64.8 MiB/s | 597.5 KiB | 00m00s [12/31] python3-iniconfig-0:2.3.0-2.fc4 100% | 6.4 MiB/s | 26.3 KiB | 00m00s [13/31] python3-packaging-0:26.0-1.fc45 100% | 90.6 MiB/s | 185.5 KiB | 00m00s [14/31] python3-pluggy-0:1.6.0-5.fc44.n 100% | 30.1 MiB/s | 61.7 KiB | 00m00s [15/31] python3-click-1:8.3.1-1.fc45.no 100% | 86.9 MiB/s | 266.9 KiB | 00m00s [16/31] python3-execnet-0:2.1.2-2.fc44. 100% | 37.4 MiB/s | 267.9 KiB | 00m00s [17/31] python3-charset-normalizer-0:3. 100% | 57.3 MiB/s | 117.3 KiB | 00m00s [18/31] python3-idna-0:3.11-2.fc44.noar 100% | 60.9 MiB/s | 124.7 KiB | 00m00s [19/31] expat-0:2.7.3-2.fc44.x86_64 100% | 60.9 MiB/s | 124.8 KiB | 00m00s [20/31] mpdecimal-0:4.0.1-3.fc44.x86_64 100% | 48.4 MiB/s | 99.1 KiB | 00m00s [21/31] python3-pygments-0:2.19.1-9.fc4 100% | 111.2 MiB/s | 2.7 MiB | 00m00s [22/31] python-pip-wheel-0:26.0.1-1.fc4 100% | 104.5 MiB/s | 1.1 MiB | 00m00s [23/31] tzdata-0:2025c-2.fc44.noarch 100% | 87.2 MiB/s | 714.2 KiB | 00m00s [24/31] python3-0:3.14.3-1.fc45.x86_64 100% | 13.8 MiB/s | 28.2 KiB | 00m00s [25/31] tomcli+tomlkit-0:0.10.1-4.fc44. 100% | 2.0 MiB/s | 8.4 KiB | 00m00s [26/31] python3-tomlkit-0:0.13.2-7.fc44 100% | 30.9 MiB/s | 126.7 KiB | 00m00s [27/31] pyproject-rpm-macros-0:1.18.6-2 100% | 21.9 MiB/s | 44.8 KiB | 00m00s [28/31] python-rpm-macros-0:3.14-10.fc4 100% | 9.7 MiB/s | 19.8 KiB | 00m00s [29/31] python3-rpm-generators-0:14-14. 100% | 14.0 MiB/s | 28.6 KiB | 00m00s [30/31] python3-rpm-macros-0:3.14-10.fc 100% | 12.1 MiB/s | 12.3 KiB | 00m00s [31/31] python3-libs-0:3.14.3-1.fc45.x8 100% | 150.8 MiB/s | 10.1 MiB | 00m00s -------------------------------------------------------------------------------- [31/31] Total 100% | 173.6 MiB/s | 20.8 MiB | 00m00s Running transaction [ 1/33] Verify package files 100% | 402.0 B/s | 31.0 B | 00m00s [ 2/33] Prepare transaction 100% | 534.0 B/s | 31.0 B | 00m00s [ 3/33] Installing python-rpm-macros-0: 100% | 27.8 MiB/s | 28.5 KiB | 00m00s [ 4/33] Installing python3-rpm-macros-0 100% | 0.0 B/s | 6.8 KiB | 00m00s [ 5/33] Installing pyproject-rpm-macros 100% | 23.0 MiB/s | 117.5 KiB | 00m00s [ 6/33] Installing tzdata-0:2025c-2.fc4 100% | 30.9 MiB/s | 1.5 MiB | 00m00s [ 7/33] Installing python-pip-wheel-0:2 100% | 611.4 MiB/s | 1.2 MiB | 00m00s [ 8/33] Installing mpdecimal-0:4.0.1-3. 100% | 106.8 MiB/s | 218.6 KiB | 00m00s [ 9/33] Installing expat-0:2.7.3-2.fc44 100% | 15.6 MiB/s | 318.9 KiB | 00m00s [10/33] Installing python3-libs-0:3.14. 100% | 270.7 MiB/s | 44.1 MiB | 00m00s [11/33] Installing python3-0:3.14.3-1.f 100% | 2.3 MiB/s | 30.5 KiB | 00m00s [12/33] Installing python3-packaging-0: 100% | 182.0 MiB/s | 745.4 KiB | 00m00s [13/33] Installing python3-idna-0:3.11- 100% | 242.5 MiB/s | 744.9 KiB | 00m00s [14/33] Installing python3-urllib3-0:2. 100% | 189.6 MiB/s | 1.1 MiB | 00m00s [15/33] Installing python3-rpm-generato 100% | 81.0 MiB/s | 82.9 KiB | 00m00s [16/33] Installing python3-redis-0:5.2. 100% | 215.4 MiB/s | 2.6 MiB | 00m00s [17/33] Installing python3-sortedcontai 100% | 194.0 MiB/s | 397.3 KiB | 00m00s [18/33] Installing python3-iniconfig-0: 100% | 52.9 MiB/s | 54.1 KiB | 00m00s [19/33] Installing python3-pluggy-0:1.6 100% | 53.2 MiB/s | 217.9 KiB | 00m00s [20/33] Installing python3-pygments-0:2 100% | 171.5 MiB/s | 11.5 MiB | 00m00s [21/33] Installing python3-pytest-0:8.4 100% | 302.4 MiB/s | 22.7 MiB | 00m00s [22/33] Installing python3-execnet-0:2. 100% | 161.5 MiB/s | 992.2 KiB | 00m00s [23/33] Installing python3-click-1:8.3. 100% | 245.7 MiB/s | 1.2 MiB | 00m00s [24/33] Installing python3-charset-norm 100% | 23.9 MiB/s | 366.4 KiB | 00m00s [25/33] Installing python3-requests-0:2 100% | 159.1 MiB/s | 488.9 KiB | 00m00s [26/33] Installing python3-tomlkit-0:0. 100% | 163.8 MiB/s | 503.2 KiB | 00m00s [27/33] Installing tomcli-0:0.10.1-4.fc 100% | 10.6 MiB/s | 162.9 KiB | 00m00s [28/33] Installing tomcli+tomlkit-0:0.1 100% | 121.1 KiB/s | 124.0 B | 00m00s [29/33] Installing python3-docker-0:7.1 100% | 123.7 MiB/s | 1.1 MiB | 00m00s [30/33] Installing python3-pytest-xdist 100% | 156.7 MiB/s | 481.3 KiB | 00m00s [31/33] Installing python3-pytest-async 100% | 66.0 MiB/s | 135.2 KiB | 00m00s [32/33] Installing python3-fakeredis-0: 100% | 140.2 MiB/s | 1.3 MiB | 00m00s [33/33] Installing python3-devel-0:3.14 100% | 36.3 MiB/s | 2.0 MiB | 00m00s Complete! Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1772409600 Wrote: /builddir/build/SRPMS/python-pydocket-0.17.9-1.fc45.src.rpm Updating and loading repositories: fedora 100% | 114.8 KiB/s | 44.2 KiB | 00m00s Copr repository 100% | 4.2 KiB/s | 1.5 KiB | 00m00s Repositories loaded. Package "python3-devel-3.14.3-1.fc45.x86_64" is already installed. Package "python3-docker-7.1.0-10.fc44.noarch" is already installed. Package "python3-fakeredis-2.34.0-1.fc45.noarch" is already installed. Package "python3-pytest-8.4.2-2.fc44.noarch" is already installed. Package "python3-pytest-asyncio-1.1.0-3.fc44.noarch" is already installed. Package "python3-pytest-xdist-3.7.0-6.fc44.noarch" is already installed. Nothing to do. Package "tomcli-0.10.1-4.fc44.noarch" is already installed. Finish: build setup for python-pydocket-0.17.9-1.fc45.src.rpm Start: rpmbuild python-pydocket-0.17.9-1.fc45.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1772409600 Executing(%mkbuilddir): /bin/sh -e /var/tmp/rpm-tmp.ZLkAnn Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.YNwr2J + umask 022 + cd /builddir/build/BUILD/python-pydocket-0.17.9-build + cd /builddir/build/BUILD/python-pydocket-0.17.9-build + rm -rf pydocket-0.17.9 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/pydocket-0.17.9.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd pydocket-0.17.9 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/remove-pytest-unrecognized-arguments.diff + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + tomcli set pyproject.toml arrays replace project.dependencies 'croniter>=([0-9]+)' 'croniter>=5' + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.EUk8SS + umask 022 + cd /builddir/build/BUILD/python-pydocket-0.17.9-build + cd pydocket-0.17.9 + 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-pydocket-0.17.9-build/.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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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-hardened-ld-errors -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-pydocket-0.17.9-build/.pyproject-builddir + RPM_TOXENV=py314 + FEDORA=45 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-pydocket-0.17.9-build/pyproject-wheeldir --output /builddir/build/BUILD/python-pydocket-0.17.9-build/python-pydocket-0.17.9-1.fc45.x86_64-pyproject-buildrequires 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-pydocket-0.17.9-build/python-pydocket-0.17.9-1.fc45.x86_64-pyproject-buildrequires + rm -rfv '*.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-pydocket-0.17.9-1.fc45.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: fedora 100% | 113.9 KiB/s | 44.2 KiB | 00m00s Copr repository 100% | 4.2 KiB/s | 1.5 KiB | 00m00s Repositories loaded. Package "pyproject-rpm-macros-1.18.6-2.fc44.noarch" is already installed. Package "python3-devel-3.14.3-1.fc45.x86_64" is already installed. Package "python3-docker-7.1.0-10.fc44.noarch" is already installed. Package Arch Version Repository Size Installing: python3-hatch-vcs noarch 0:0.5.0-6.fc44 fedora 34.9 KiB python3-hatchling noarch 0:1.29.0-1.fc45 fedora 659.2 KiB python3-pip noarch 0:26.0.1-1.fc45 fedora 11.4 MiB Installing dependencies: python3-pathspec noarch 0:1.0.3-2.fc44 fedora 372.4 KiB python3-setuptools noarch 0:80.10.2-1.fc44 fedora 7.5 MiB python3-setuptools_scm noarch 0:9.2.2-5.fc44 fedora 502.5 KiB python3-trove-classifiers noarch 0:2026.1.14.14-2.fc44 fedora 111.9 KiB Transaction Summary: Installing: 7 packages Package "python3-fakeredis-2.34.0-1.fc45.noarch" is already installed. Package "python3-pytest-8.4.2-2.fc44.noarch" is already installed. Package "python3-pytest-asyncio-1.1.0-3.fc44.noarch" is already installed. Package "python3-pytest-xdist-3.7.0-6.fc44.noarch" is already installed. Package "python3-packaging-26.0-1.fc45.noarch" is already installed. Package "tomcli-0.10.1-4.fc44.noarch" is already installed. Total size of inbound packages is 5 MiB. Need to download 5 MiB. After this operation, 21 MiB extra will be used (install 21 MiB, remove 0 B). [1/7] python3-hatchling-0:1.29.0-1.fc45 100% | 13.2 MiB/s | 229.2 KiB | 00m00s [2/7] python3-hatch-vcs-0:0.5.0-6.fc44. 100% | 1.4 MiB/s | 27.9 KiB | 00m00s [3/7] python3-pathspec-0:1.0.3-2.fc44.n 100% | 52.6 MiB/s | 107.8 KiB | 00m00s [4/7] python3-setuptools_scm-0:9.2.2-5. 100% | 31.1 MiB/s | 159.4 KiB | 00m00s [5/7] python3-trove-classifiers-0:2026. 100% | 16.7 MiB/s | 34.2 KiB | 00m00s [6/7] python3-pip-0:26.0.1-1.fc45.noarc 100% | 68.2 MiB/s | 2.7 MiB | 00m00s [7/7] python3-setuptools-0:80.10.2-1.fc 100% | 97.4 MiB/s | 1.8 MiB | 00m00s -------------------------------------------------------------------------------- [7/7] Total 100% | 115.3 MiB/s | 5.0 MiB | 00m00s Running transaction [1/9] Verify package files 100% | 388.0 B/s | 7.0 B | 00m00s [2/9] Prepare transaction 100% | 218.0 B/s | 7.0 B | 00m00s [3/9] Installing python3-setuptools-0:8 100% | 173.9 MiB/s | 7.7 MiB | 00m00s [4/9] Installing python3-setuptools_scm 100% | 28.6 MiB/s | 526.4 KiB | 00m00s [5/9] Installing python3-trove-classifi 100% | 8.1 MiB/s | 115.7 KiB | 00m00s [6/9] Installing python3-pathspec-0:1.0 100% | 77.1 MiB/s | 394.6 KiB | 00m00s [7/9] Installing python3-hatchling-0:1. 100% | 31.4 MiB/s | 708.4 KiB | 00m00s [8/9] Installing python3-hatch-vcs-0:0. 100% | 8.0 MiB/s | 41.0 KiB | 00m00s [9/9] Installing python3-pip-0:26.0.1-1 100% | 118.5 MiB/s | 11.7 MiB | 00m00s Complete! Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1772409600 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.XN5JKo + umask 022 + cd /builddir/build/BUILD/python-pydocket-0.17.9-build + cd pydocket-0.17.9 + 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-pydocket-0.17.9-build/.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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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-hardened-ld-errors -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-pydocket-0.17.9-build/.pyproject-builddir + RPM_TOXENV=py314 + FEDORA=45 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-pydocket-0.17.9-build/pyproject-wheeldir --output /builddir/build/BUILD/python-pydocket-0.17.9-build/python-pydocket-0.17.9-1.fc45.x86_64-pyproject-buildrequires Handling hatchling from build-system.requires Requirement satisfied: hatchling (installed: hatchling 1.29.0) Handling hatch-vcs from build-system.requires Requirement satisfied: hatch-vcs (installed: hatch-vcs 0.5.0) Handling cloudpickle>=3.1.1 from hook generated metadata: Requires-Dist (pydocket) Requirement not satisfied: cloudpickle>=3.1.1 Handling croniter>=5 from hook generated metadata: Requires-Dist (pydocket) Requirement not satisfied: croniter>=5 Handling exceptiongroup>=1.2.0; python_version < '3.11' from hook generated metadata: Requires-Dist (pydocket) Ignoring alien requirement: exceptiongroup>=1.2.0; python_version < '3.11' Handling fakeredis[lua]>=2.32.1 from hook generated metadata: Requires-Dist (pydocket) Requirement satisfied: fakeredis[lua]>=2.32.1 (installed: fakeredis 2.34.0) (extras are currently not checked) Handling opentelemetry-api>=1.33.0 from hook generated metadata: Requires-Dist (pydocket) Requirement not satisfied: opentelemetry-api>=1.33.0 Handling prometheus-client>=0.21.1 from hook generated metadata: Requires-Dist (pydocket) Requirement not satisfied: prometheus-client>=0.21.1 Handling py-key-value-aio[memory,redis]>=0.3.0 from hook generated metadata: Requires-Dist (pydocket) Requirement not satisfied: py-key-value-aio[memory,redis]>=0.3.0 Handling python-json-logger>=2.0.7 from hook generated metadata: Requires-Dist (pydocket) Requirement not satisfied: python-json-logger>=2.0.7 Handling redis>=5 from hook generated metadata: Requires-Dist (pydocket) Requirement satisfied: redis>=5 (installed: redis 5.2.1) Handling rich>=13.9.4 from hook generated metadata: Requires-Dist (pydocket) Requirement not satisfied: rich>=13.9.4 Handling taskgroup>=0.2.2; python_version < '3.11' from hook generated metadata: Requires-Dist (pydocket) Ignoring alien requirement: taskgroup>=0.2.2; python_version < '3.11' Handling typer>=0.15.1 from hook generated metadata: Requires-Dist (pydocket) Requirement not satisfied: typer>=0.15.1 Handling typing-extensions>=4.12.0 from hook generated metadata: Requires-Dist (pydocket) Requirement not satisfied: typing-extensions>=4.12.0 Handling tzdata>=2025.2; sys_platform == 'win32' from hook generated metadata: Requires-Dist (pydocket) Ignoring alien requirement: tzdata>=2025.2; sys_platform == 'win32' Handling opentelemetry-sdk>=1.33.0; extra == 'metrics' from hook generated metadata: Requires-Dist (pydocket) Ignoring alien requirement: opentelemetry-sdk>=1.33.0; extra == 'metrics' + cat /builddir/build/BUILD/python-pydocket-0.17.9-build/python-pydocket-0.17.9-1.fc45.x86_64-pyproject-buildrequires + rm -rfv pydocket-0.17.9.dist-info/ removed 'pydocket-0.17.9.dist-info/METADATA' removed directory 'pydocket-0.17.9.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-pydocket-0.17.9-1.fc45.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: fedora 100% | 54.3 KiB/s | 44.2 KiB | 00m01s Copr repository 100% | 1.9 KiB/s | 1.5 KiB | 00m01s Repositories loaded. Package "pyproject-rpm-macros-1.18.6-2.fc44.noarch" is already installed. Package "python3-devel-3.14.3-1.fc45.x86_64" is already installed. Package "python3-docker-7.1.0-10.fc44.noarch" is already installed. Package "python3-fakeredis-2.34.0-1.fc45.noarch" is already installed. Package "python3-pytest-8.4.2-2.fc44.noarch" is already installed. Package "python3-pytest-asyncio-1.1.0-3.fc44.noarch" is already installed. Package "python3-pytest-xdist-3.7.0-6.fc44.noarch" is already installed. Package "python3-fakeredis-2.34.0-1.fc45.noarch" is already installed. Package "python3-hatch-vcs-0.5.0-6.fc44.noarch" is already installed. Package "python3-hatchling-1.29.0-1.fc45.noarch" is already installed. Package "python3-packaging-26.0-1.fc45.noarch" is already installed. Package "python3-pip-26.0.1-1.fc45.noarch" is already installed. Package "python3-redis-5.2.1-8.fc44.noarch" is already installed. Package "tomcli-0.10.1-4.fc44.noarch" is already installed. Package Arch Version Repository Size Installing: python3-cloudpickle noarch 0:3.1.2-2.fc44 fedora 129.7 KiB python3-croniter noarch 0:5.0.1-7.fc45 fedora 200.0 KiB python3-fakeredis+lua noarch 0:2.34.0-1.fc45 fedora 0.0 B python3-json-logger noarch 0:4.0.0-2.fc44 fedora 83.3 KiB python3-opentelemetry-api noarch 0:1.39.1-1.fc45 fedora 438.0 KiB python3-prometheus_client noarch 0:0.23.0-3.fc44 fedora 425.1 KiB python3-py-key-value-aio noarch 0:0.3.0-2.fc45 fedora 756.1 KiB python3-py-key-value-aio+memory noarch 0:0.3.0-2.fc45 fedora 0.0 B python3-py-key-value-aio+redis noarch 0:0.3.0-2.fc45 fedora 0.0 B python3-rich noarch 0:14.3.3-1.fc45 fedora 3.4 MiB python3-typer noarch 0:0.24.1-1.fc45 fedora 846.8 KiB python3-typing-extensions noarch 0:4.15.0-4.fc45 fedora 538.8 KiB Installing dependencies: luajit x86_64 0:2.1.1767980792-1.fc44 fedora 1.4 MiB python3-annotated-doc noarch 0:0.0.4-3.fc44 fedora 16.7 KiB python3-beartype noarch 0:0.21.0^20240712gita3a0fff-2.fc44 fedora 8.5 MiB python3-cachetools noarch 0:7.0.1-1.fc45 fedora 149.2 KiB python3-dateutil noarch 1:2.9.0.post0-7.fc44 fedora 878.0 KiB python3-decorator noarch 0:5.2.1-6.fc44 fedora 81.8 KiB python3-importlib-metadata noarch 0:8.7.1-2.fc44 fedora 180.4 KiB python3-lupa x86_64 0:2.6-3.fc44 fedora 473.4 KiB python3-markdown-it-py noarch 0:4.0.0-1.fc45 fedora 540.6 KiB python3-mdurl noarch 0:0.1.2-14.fc44 fedora 44.0 KiB python3-py-key-value-shared noarch 0:0.3.0-2.fc45 fedora 129.8 KiB python3-pytz noarch 0:2025.2-6.fc44 fedora 224.0 KiB python3-shellingham noarch 0:1.5.4-14.fc44 fedora 43.6 KiB python3-six noarch 0:1.17.0-8.fc44 fedora 118.0 KiB python3-zipp noarch 0:3.23.0-3.fc44 fedora 60.7 KiB Transaction Summary: Installing: 27 packages Total size of inbound packages is 5 MiB. Need to download 5 MiB. After this operation, 20 MiB extra will be used (install 20 MiB, remove 0 B). [ 1/27] python3-croniter-0:5.0.1-7.fc45 100% | 3.0 MiB/s | 52.8 KiB | 00m00s [ 2/27] python3-cloudpickle-0:3.1.2-2.f 100% | 2.6 MiB/s | 48.2 KiB | 00m00s [ 3/27] python3-fakeredis+lua-0:2.34.0- 100% | 364.8 KiB/s | 7.7 KiB | 00m00s [ 4/27] python3-opentelemetry-api-0:1.3 100% | 26.8 MiB/s | 137.1 KiB | 00m00s [ 5/27] python3-py-key-value-aio+memory 100% | 3.7 MiB/s | 7.5 KiB | 00m00s [ 6/27] python3-py-key-value-aio-0:0.3. 100% | 60.5 MiB/s | 247.6 KiB | 00m00s [ 7/27] python3-prometheus_client-0:0.2 100% | 18.4 MiB/s | 151.1 KiB | 00m00s [ 8/27] python3-py-key-value-aio+redis- 100% | 3.7 MiB/s | 7.5 KiB | 00m00s [ 9/27] python3-json-logger-0:4.0.0-2.f 100% | 6.8 MiB/s | 41.6 KiB | 00m00s [10/27] python3-typer-0:0.24.1-1.fc45.n 100% | 33.8 MiB/s | 172.9 KiB | 00m00s [11/27] python3-rich-0:14.3.3-1.fc45.no 100% | 92.7 MiB/s | 664.3 KiB | 00m00s [12/27] python3-typing-extensions-0:4.1 100% | 27.4 MiB/s | 112.3 KiB | 00m00s [13/27] python3-dateutil-1:2.9.0.post0- 100% | 67.3 MiB/s | 344.4 KiB | 00m00s [14/27] python3-pytz-0:2025.2-6.fc44.no 100% | 12.9 MiB/s | 66.2 KiB | 00m00s [15/27] python3-lupa-0:2.6-3.fc44.x86_6 100% | 26.5 MiB/s | 163.0 KiB | 00m00s [16/27] python3-importlib-metadata-0:8. 100% | 14.4 MiB/s | 73.7 KiB | 00m00s [17/27] python3-decorator-0:5.2.1-6.fc4 100% | 7.8 MiB/s | 32.0 KiB | 00m00s [18/27] python3-py-key-value-shared-0:0 100% | 21.8 MiB/s | 67.0 KiB | 00m00s [19/27] python3-cachetools-0:7.0.1-1.fc 100% | 17.6 MiB/s | 54.1 KiB | 00m00s [20/27] python3-annotated-doc-0:0.0.4-3 100% | 3.0 MiB/s | 15.2 KiB | 00m00s [21/27] python3-markdown-it-py-0:4.0.0- 100% | 33.4 MiB/s | 205.0 KiB | 00m00s [22/27] python3-six-0:1.17.0-8.fc44.noa 100% | 20.5 MiB/s | 42.0 KiB | 00m00s [23/27] python3-shellingham-0:1.5.4-14. 100% | 6.7 MiB/s | 34.1 KiB | 00m00s [24/27] python3-zipp-0:3.23.0-3.fc44.no 100% | 7.3 MiB/s | 37.3 KiB | 00m00s [25/27] python3-beartype-0:0.21.0^20240 100% | 72.5 MiB/s | 1.6 MiB | 00m00s [26/27] luajit-0:2.1.1767980792-1.fc44. 100% | 36.0 MiB/s | 442.5 KiB | 00m00s [27/27] python3-mdurl-0:0.1.2-14.fc44.n 100% | 7.7 MiB/s | 31.4 KiB | 00m00s -------------------------------------------------------------------------------- [27/27] Total 100% | 65.4 MiB/s | 4.8 MiB | 00m00s Running transaction [ 1/29] Verify package files 100% | 1.3 KiB/s | 27.0 B | 00m00s [ 2/29] Prepare transaction 100% | 586.0 B/s | 27.0 B | 00m00s [ 3/29] Installing python3-beartype-0:0 100% | 135.1 MiB/s | 8.8 MiB | 00m00s [ 4/29] Installing python3-typing-exten 100% | 264.2 MiB/s | 541.1 KiB | 00m00s [ 5/29] Installing python3-py-key-value 100% | 35.8 MiB/s | 146.7 KiB | 00m00s [ 6/29] Installing python3-py-key-value 100% | 57.5 MiB/s | 823.7 KiB | 00m00s [ 7/29] Installing python3-mdurl-0:0.1. 100% | 24.1 MiB/s | 49.4 KiB | 00m00s [ 8/29] Installing python3-markdown-it- 100% | 26.0 MiB/s | 584.7 KiB | 00m00s [ 9/29] Installing python3-rich-0:14.3. 100% | 217.4 MiB/s | 3.5 MiB | 00m00s [10/29] Installing python3-zipp-0:3.23. 100% | 32.7 MiB/s | 67.0 KiB | 00m00s [11/29] Installing python3-importlib-me 100% | 93.2 MiB/s | 190.8 KiB | 00m00s [12/29] Installing luajit-0:2.1.1767980 100% | 81.8 MiB/s | 1.4 MiB | 00m00s [13/29] Installing python3-lupa-0:2.6-3 100% | 155.4 MiB/s | 477.3 KiB | 00m00s [14/29] Installing python3-six-0:1.17.0 100% | 117.5 MiB/s | 120.3 KiB | 00m00s [15/29] Installing python3-dateutil-1:2 100% | 217.7 MiB/s | 891.5 KiB | 00m00s [16/29] Installing python3-shellingham- 100% | 49.0 MiB/s | 50.2 KiB | 00m00s [17/29] Installing python3-annotated-do 100% | 19.7 MiB/s | 20.1 KiB | 00m00s [18/29] Installing python3-cachetools-0 100% | 150.5 MiB/s | 154.1 KiB | 00m00s [19/29] Installing python3-decorator-0: 100% | 82.5 MiB/s | 84.5 KiB | 00m00s [20/29] Installing python3-pytz-0:2025. 100% | 112.0 MiB/s | 229.4 KiB | 00m00s [21/29] Installing python3-croniter-0:5 100% | 99.3 MiB/s | 203.3 KiB | 00m00s [22/29] Installing python3-prometheus_c 100% | 108.2 MiB/s | 443.4 KiB | 00m00s [23/29] Installing python3-py-key-value 100% | 0.0 B/s | 124.0 B | 00m00s [24/29] Installing python3-typer-0:0.24 100% | 52.4 MiB/s | 858.7 KiB | 00m00s [25/29] Installing python3-fakeredis+lu 100% | 0.0 B/s | 124.0 B | 00m00s [26/29] Installing python3-opentelemetr 100% | 75.8 MiB/s | 465.9 KiB | 00m00s [27/29] Installing python3-py-key-value 100% | 0.0 B/s | 124.0 B | 00m00s [28/29] Installing python3-json-logger- 100% | 44.2 MiB/s | 90.5 KiB | 00m00s [29/29] Installing python3-cloudpickle- 100% | 5.7 MiB/s | 133.5 KiB | 00m00s Complete! Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1772409600 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.xrwOr9 + umask 022 + cd /builddir/build/BUILD/python-pydocket-0.17.9-build + cd pydocket-0.17.9 + 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-pydocket-0.17.9-build/.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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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-hardened-ld-errors -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-pydocket-0.17.9-build/.pyproject-builddir + RPM_TOXENV=py314 + FEDORA=45 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-pydocket-0.17.9-build/pyproject-wheeldir --output /builddir/build/BUILD/python-pydocket-0.17.9-build/python-pydocket-0.17.9-1.fc45.x86_64-pyproject-buildrequires Handling hatchling from build-system.requires Requirement satisfied: hatchling (installed: hatchling 1.29.0) Handling hatch-vcs from build-system.requires Requirement satisfied: hatch-vcs (installed: hatch-vcs 0.5.0) Handling cloudpickle>=3.1.1 from hook generated metadata: Requires-Dist (pydocket) Requirement satisfied: cloudpickle>=3.1.1 (installed: cloudpickle 3.1.2) Handling croniter>=5 from hook generated metadata: Requires-Dist (pydocket) Requirement satisfied: croniter>=5 (installed: croniter 5.0.1) Handling exceptiongroup>=1.2.0; python_version < '3.11' from hook generated metadata: Requires-Dist (pydocket) Ignoring alien requirement: exceptiongroup>=1.2.0; python_version < '3.11' Handling fakeredis[lua]>=2.32.1 from hook generated metadata: Requires-Dist (pydocket) Requirement satisfied: fakeredis[lua]>=2.32.1 (installed: fakeredis 2.34.0) (extras are currently not checked) Handling opentelemetry-api>=1.33.0 from hook generated metadata: Requires-Dist (pydocket) Requirement satisfied: opentelemetry-api>=1.33.0 (installed: opentelemetry-api 1.39.1) Handling prometheus-client>=0.21.1 from hook generated metadata: Requires-Dist (pydocket) Requirement satisfied: prometheus-client>=0.21.1 (installed: prometheus-client 0.23.0) Handling py-key-value-aio[memory,redis]>=0.3.0 from hook generated metadata: Requires-Dist (pydocket) Requirement satisfied: py-key-value-aio[memory,redis]>=0.3.0 (installed: py-key-value-aio 0.3.0) (extras are currently not checked) Handling python-json-logger>=2.0.7 from hook generated metadata: Requires-Dist (pydocket) Requirement satisfied: python-json-logger>=2.0.7 (installed: python-json-logger 4.0.0) Handling redis>=5 from hook generated metadata: Requires-Dist (pydocket) Requirement satisfied: redis>=5 (installed: redis 5.2.1) Handling rich>=13.9.4 from hook generated metadata: Requires-Dist (pydocket) Requirement satisfied: rich>=13.9.4 (installed: rich 14.3.3) Handling taskgroup>=0.2.2; python_version < '3.11' from hook generated metadata: Requires-Dist (pydocket) Ignoring alien requirement: taskgroup>=0.2.2; python_version < '3.11' Handling typer>=0.15.1 from hook generated metadata: Requires-Dist (pydocket) Requirement satisfied: typer>=0.15.1 (installed: typer 0.24.1) Handling typing-extensions>=4.12.0 from hook generated metadata: Requires-Dist (pydocket) Requirement satisfied: typing-extensions>=4.12.0 (installed: typing-extensions 4.15.0) Handling tzdata>=2025.2; sys_platform == 'win32' from hook generated metadata: Requires-Dist (pydocket) Ignoring alien requirement: tzdata>=2025.2; sys_platform == 'win32' Handling opentelemetry-sdk>=1.33.0; extra == 'metrics' from hook generated metadata: Requires-Dist (pydocket) Ignoring alien requirement: opentelemetry-sdk>=1.33.0; extra == 'metrics' + cat /builddir/build/BUILD/python-pydocket-0.17.9-build/python-pydocket-0.17.9-1.fc45.x86_64-pyproject-buildrequires + rm -rfv pydocket-0.17.9.dist-info/ removed 'pydocket-0.17.9.dist-info/METADATA' removed directory 'pydocket-0.17.9.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-pydocket-0.17.9-1.fc45.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: fedora 100% | 54.1 KiB/s | 44.2 KiB | 00m01s Copr repository 100% | 1.9 KiB/s | 1.5 KiB | 00m01s Repositories loaded. Package "pyproject-rpm-macros-1.18.6-2.fc44.noarch" is already installed. Nothing to do. Package "python3-devel-3.14.3-1.fc45.x86_64" is already installed. Package "python3-docker-7.1.0-10.fc44.noarch" is already installed. Package "python3-fakeredis-2.34.0-1.fc45.noarch" is already installed. Package "python3-pytest-8.4.2-2.fc44.noarch" is already installed. Package "python3-pytest-asyncio-1.1.0-3.fc44.noarch" is already installed. Package "python3-pytest-xdist-3.7.0-6.fc44.noarch" is already installed. Package "python3-cloudpickle-3.1.2-2.fc44.noarch" is already installed. Package "python3-croniter-5.0.1-7.fc45.noarch" is already installed. Package "python3-fakeredis-2.34.0-1.fc45.noarch" is already installed. Package "python3-fakeredis+lua-2.34.0-1.fc45.noarch" is already installed. Package "python3-hatch-vcs-0.5.0-6.fc44.noarch" is already installed. Package "python3-hatchling-1.29.0-1.fc45.noarch" is already installed. Package "python3-opentelemetry-api-1.39.1-1.fc45.noarch" is already installed. Package "python3-packaging-26.0-1.fc45.noarch" is already installed. Package "python3-pip-26.0.1-1.fc45.noarch" is already installed. Package "python3-prometheus_client-0.23.0-3.fc44.noarch" is already installed. Package "python3-py-key-value-aio-0.3.0-2.fc45.noarch" is already installed. Package "python3-py-key-value-aio+memory-0.3.0-2.fc45.noarch" is already installed. Package "python3-py-key-value-aio+redis-0.3.0-2.fc45.noarch" is already installed. Package "python3-json-logger-4.0.0-2.fc44.noarch" is already installed. Package "python3-redis-5.2.1-8.fc44.noarch" is already installed. Package "python3-rich-14.3.3-1.fc45.noarch" is already installed. Package "python3-typer-0.24.1-1.fc45.noarch" is already installed. Package "python3-typing-extensions-4.15.0-4.fc45.noarch" is already installed. Package "tomcli-0.10.1-4.fc44.noarch" is already installed. Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1772409600 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.6Hj5ka + umask 022 + cd /builddir/build/BUILD/python-pydocket-0.17.9-build + cd pydocket-0.17.9 + 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-pydocket-0.17.9-build/.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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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-hardened-ld-errors -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-pydocket-0.17.9-build/.pyproject-builddir + RPM_TOXENV=py314 + FEDORA=45 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-pydocket-0.17.9-build/pyproject-wheeldir --output /builddir/build/BUILD/python-pydocket-0.17.9-build/python-pydocket-0.17.9-1.fc45.x86_64-pyproject-buildrequires Handling hatchling from build-system.requires Requirement satisfied: hatchling (installed: hatchling 1.29.0) Handling hatch-vcs from build-system.requires Requirement satisfied: hatch-vcs (installed: hatch-vcs 0.5.0) Handling cloudpickle>=3.1.1 from hook generated metadata: Requires-Dist (pydocket) Requirement satisfied: cloudpickle>=3.1.1 (installed: cloudpickle 3.1.2) Handling croniter>=5 from hook generated metadata: Requires-Dist (pydocket) Requirement satisfied: croniter>=5 (installed: croniter 5.0.1) Handling exceptiongroup>=1.2.0; python_version < '3.11' from hook generated metadata: Requires-Dist (pydocket) Ignoring alien requirement: exceptiongroup>=1.2.0; python_version < '3.11' Handling fakeredis[lua]>=2.32.1 from hook generated metadata: Requires-Dist (pydocket) Requirement satisfied: fakeredis[lua]>=2.32.1 (installed: fakeredis 2.34.0) (extras are currently not checked) Handling opentelemetry-api>=1.33.0 from hook generated metadata: Requires-Dist (pydocket) Requirement satisfied: opentelemetry-api>=1.33.0 (installed: opentelemetry-api 1.39.1) Handling prometheus-client>=0.21.1 from hook generated metadata: Requires-Dist (pydocket) Requirement satisfied: prometheus-client>=0.21.1 (installed: prometheus-client 0.23.0) Handling py-key-value-aio[memory,redis]>=0.3.0 from hook generated metadata: Requires-Dist (pydocket) Requirement satisfied: py-key-value-aio[memory,redis]>=0.3.0 (installed: py-key-value-aio 0.3.0) (extras are currently not checked) Handling python-json-logger>=2.0.7 from hook generated metadata: Requires-Dist (pydocket) Requirement satisfied: python-json-logger>=2.0.7 (installed: python-json-logger 4.0.0) Handling redis>=5 from hook generated metadata: Requires-Dist (pydocket) Requirement satisfied: redis>=5 (installed: redis 5.2.1) Handling rich>=13.9.4 from hook generated metadata: Requires-Dist (pydocket) Requirement satisfied: rich>=13.9.4 (installed: rich 14.3.3) Handling taskgroup>=0.2.2; python_version < '3.11' from hook generated metadata: Requires-Dist (pydocket) Ignoring alien requirement: taskgroup>=0.2.2; python_version < '3.11' Handling typer>=0.15.1 from hook generated metadata: Requires-Dist (pydocket) Requirement satisfied: typer>=0.15.1 (installed: typer 0.24.1) Handling typing-extensions>=4.12.0 from hook generated metadata: Requires-Dist (pydocket) Requirement satisfied: typing-extensions>=4.12.0 (installed: typing-extensions 4.15.0) Handling tzdata>=2025.2; sys_platform == 'win32' from hook generated metadata: Requires-Dist (pydocket) Ignoring alien requirement: tzdata>=2025.2; sys_platform == 'win32' Handling opentelemetry-sdk>=1.33.0; extra == 'metrics' from hook generated metadata: Requires-Dist (pydocket) Ignoring alien requirement: opentelemetry-sdk>=1.33.0; extra == 'metrics' + cat /builddir/build/BUILD/python-pydocket-0.17.9-build/python-pydocket-0.17.9-1.fc45.x86_64-pyproject-buildrequires + rm -rfv pydocket-0.17.9.dist-info/ removed 'pydocket-0.17.9.dist-info/METADATA' removed directory 'pydocket-0.17.9.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.DUZwuY + umask 022 + cd /builddir/build/BUILD/python-pydocket-0.17.9-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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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-hardened-ld-errors -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 pydocket-0.17.9 + mkdir -p /builddir/build/BUILD/python-pydocket-0.17.9-build/.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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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-hardened-ld-errors -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-pydocket-0.17.9-build/.pyproject-builddir + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_wheel.py /builddir/build/BUILD/python-pydocket-0.17.9-build/pyproject-wheeldir Processing ./. Preparing metadata (pyproject.toml): started Running command Preparing metadata (pyproject.toml) Preparing metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: pydocket Building wheel for pydocket (pyproject.toml): started Running command Building wheel for pydocket (pyproject.toml) Building wheel for pydocket (pyproject.toml): finished with status 'done' Created wheel for pydocket: filename=pydocket-0.17.9-py3-none-any.whl size=94504 sha256=d0ac4c3633dada00bcd514143818c88843ab4b3c5b171ea99257cf4e000e12a8 Stored in directory: /builddir/.cache/pip/wheels/a6/e8/0d/fb807c0d79f6ed229893882c4aec8a3062a0de48adb83c2299 Successfully built pydocket + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.ReAkU3 + umask 022 + cd /builddir/build/BUILD/python-pydocket-0.17.9-build + '[' /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT '!=' / ']' + rm -rf /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT ++ dirname /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT + mkdir -p /builddir/build/BUILD/python-pydocket-0.17.9-build + mkdir /builddir/build/BUILD/python-pydocket-0.17.9-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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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-hardened-ld-errors -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 pydocket-0.17.9 ++ ls /builddir/build/BUILD/python-pydocket-0.17.9-build/pyproject-wheeldir/pydocket-0.17.9-py3-none-any.whl ++ xargs basename --multiple ++ sed -E 's/([^-]+)-([^-]+)-.+\.whl/\1==\2/' + specifier=pydocket==0.17.9 + '[' -z pydocket==0.17.9 ']' + TMPDIR=/builddir/build/BUILD/python-pydocket-0.17.9-build/.pyproject-builddir + /usr/bin/python3 -m pip install --root /builddir/build/BUILD/python-pydocket-0.17.9-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-pydocket-0.17.9-build/pyproject-wheeldir pydocket==0.17.9 Using pip 26.0.1 from /usr/lib/python3.14/site-packages/pip (python 3.14) Looking in links: /builddir/build/BUILD/python-pydocket-0.17.9-build/pyproject-wheeldir Processing /builddir/build/BUILD/python-pydocket-0.17.9-build/pyproject-wheeldir/pydocket-0.17.9-py3-none-any.whl Installing collected packages: pydocket Creating /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/bin changing mode of /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/bin/docket to 755 Successfully installed pydocket-0.17.9 + '[' -d /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/bin ']' + '[' -z sP ']' + shebang_flags=-kasP + /usr/bin/python3 -B /usr/lib/rpm/redhat/pathfix.py -pni /usr/bin/python3 -kasP /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/bin/docket /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/bin/docket: updating + rm -rfv /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/bin/__pycache__ + rm -f /builddir/build/BUILD/python-pydocket-0.17.9-build/python-pydocket-0.17.9-1.fc45.x86_64-pyproject-ghost-distinfo + site_dirs=() + '[' -d /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages ']' + site_dirs+=("/usr/lib/python3.14/site-packages") + '[' /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib64/python3.14/site-packages '!=' /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages ']' + '[' -d /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib64/python3.14/site-packages ']' + for site_dir in ${site_dirs[@]} + for distinfo in /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT$site_dir/*.dist-info + echo '%ghost %dir /usr/lib/python3.14/site-packages/pydocket-0.17.9.dist-info' + sed -i s/pip/rpm/ /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/pydocket-0.17.9.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-pydocket-0.17.9-build/BUILDROOT --record /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/pydocket-0.17.9.dist-info/RECORD --output /builddir/build/BUILD/python-pydocket-0.17.9-build/python-pydocket-0.17.9-1.fc45.x86_64-pyproject-record + rm -fv /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/pydocket-0.17.9.dist-info/RECORD removed '/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/pydocket-0.17.9.dist-info/RECORD' + rm -fv /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/pydocket-0.17.9.dist-info/REQUESTED removed '/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/pydocket-0.17.9.dist-info/REQUESTED' ++ cut -f1 '-d ' ++ wc -l /builddir/build/BUILD/python-pydocket-0.17.9-build/python-pydocket-0.17.9-1.fc45.x86_64-pyproject-ghost-distinfo + 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-pydocket-0.17.9-build/python-pydocket-0.17.9-1.fc45.x86_64-pyproject-files --output-modules /builddir/build/BUILD/python-pydocket-0.17.9-build/python-pydocket-0.17.9-1.fc45.x86_64-pyproject-modules --buildroot /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT --sitelib /usr/lib/python3.14/site-packages --sitearch /usr/lib64/python3.14/site-packages --python-version 3.14 --pyproject-record /builddir/build/BUILD/python-pydocket-0.17.9-build/python-pydocket-0.17.9-1.fc45.x86_64-pyproject-record --prefix /usr -l docket + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + COMPRESS='gzip -9 -n' + COMPRESS_EXT=.gz + /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/check-rpaths + /usr/lib/rpm/redhat/brp-mangle-shebangs + /usr/lib/rpm/brp-remove-la-files + /usr/lib/rpm/redhat/brp-python-rpm-in-distinfo + env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j2 Bytecompiling .py files below /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14 using python3.14 + /usr/lib/rpm/redhat/brp-python-hardlink + /usr/bin/add-det --brp -j2 /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/__pycache__/instrumentation.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/__pycache__/execution.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/__pycache__/testing.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/__pycache__/tasks.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/__pycache__/worker.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/__pycache__/strikelist.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/__pycache__/docket.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/__pycache__/strikelist.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/__pycache__/_result_store.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/__pycache__/_redis.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/__pycache__/annotations.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/__pycache__/agenda.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/__pycache__/_redis.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/__pycache__/_uuid7.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/__pycache__/_telemetry.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/__pycache__/_prometheus_exporter.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/__pycache__/_execution_progress.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/__pycache__/_cancellation.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/__pycache__/__main__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/dependencies/__pycache__/_retry.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/__pycache__/_docket_snapshot.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/dependencies/__pycache__/_resolution.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/dependencies/__pycache__/_resolution.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/dependencies/__pycache__/_timeout.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/dependencies/__pycache__/_progress.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/dependencies/__pycache__/_progress.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/dependencies/__pycache__/_perpetual.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/dependencies/__pycache__/_base.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/dependencies/__pycache__/_cron.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/dependencies/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/dependencies/__pycache__/_functional.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/dependencies/__pycache__/_contextual.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/dependencies/__pycache__/_contextual.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/dependencies/__pycache__/_concurrency.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/dependencies/__pycache__/_concurrency.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/cli/__pycache__/_support.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/cli/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents Scanned 14 directories and 103 files, processed 38 inodes, 38 modified (12 replaced + 26 rewritten), 0 unsupported format, 0 errors + /usr/bin/linkdupes --brp /builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr Scanned 13 directories and 103 files, considered 103 files, read 0 files, linked 0 files, 0 errors sum of sizes of linked files: 0 bytes Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.IctBOX + umask 022 + cd /builddir/build/BUILD/python-pydocket-0.17.9-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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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-hardened-ld-errors -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 pydocket-0.17.9 + '[' '!' -f /builddir/build/BUILD/python-pydocket-0.17.9-build/python-pydocket-0.17.9-1.fc45.x86_64-pyproject-modules ']' + PATH=/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin + PYTHONPATH=/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib64/python3.14/site-packages:/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages + _PYTHONSITE=/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib64/python3.14/site-packages:/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages + PYTHONDONTWRITEBYTECODE=1 + /usr/bin/python3 -sP /usr/lib/rpm/redhat/import_all_modules.py -f /builddir/build/BUILD/python-pydocket-0.17.9-build/python-pydocket-0.17.9-1.fc45.x86_64-pyproject-modules Check import: docket Check import: docket.agenda Check import: docket.annotations Check import: docket.cli Check import: docket.dependencies Check import: docket.docket Check import: docket.execution Check import: docket.instrumentation Check import: docket.strikelist Check import: docket.tasks Check import: docket.testing Check import: docket.worker + export REDIS_VERSION=memory + REDIS_VERSION=memory + 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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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-hardened-ld-errors -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-pydocket-0.17.9-build/BUILDROOT/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin + PYTHONPATH=/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib64/python3.14/site-packages:/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages + PYTHONDONTWRITEBYTECODE=1 + PYTEST_ADDOPTS=' --ignore=/builddir/build/BUILD/python-pydocket-0.17.9-build/.pyproject-builddir' + PYTEST_XDIST_AUTO_NUM_WORKERS=2 + /usr/bin/pytest --ignore tests/instrumentation/test_tracing.py -k 'not test_exports_metrics_as_prometheus_metrics and not test_json_logging_format' ============================= test session starts ============================== platform linux -- Python 3.14.3, pytest-8.4.2, pluggy-1.6.0 rootdir: /builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9 configfile: pyproject.toml plugins: asyncio-1.1.0, xdist-3.7.0 asyncio: mode=Mode.AUTO, asyncio_default_fixture_loop_scope=function, asyncio_default_test_loop_scope=function collected 688 items / 2 deselected / 686 selected tests/cli/test_clear.py sssssssss [ 1%] tests/cli/test_iterate_with_timeout.py EEEEE [ 2%] tests/cli/test_module.py E [ 2%] tests/cli/test_parsing.py ssssssssss [ 3%] tests/cli/test_snapshot.py sssssssssssss [ 5%] tests/cli/test_striking.py sssssssssssssssss [ 8%] tests/cli/test_tasks.py sss [ 8%] tests/cli/test_url_validation.py EEEEEEEEEEEEEE [ 10%] tests/cli/test_version.py EE [ 10%] tests/cli/test_watch.py ssssssssssss [ 12%] tests/cli/test_worker.py EEsEEss [ 13%] tests/cli/test_workers.py ss [ 13%] tests/concurrency_limits/test_basic.py EEEEEEEEEEEEEE [ 15%] tests/concurrency_limits/test_errors_and_resilience.py EEEEEEE [ 16%] tests/concurrency_limits/test_execution_patterns.py EEEEEEE [ 17%] tests/concurrency_limits/test_redelivery.py EEEEEE [ 18%] tests/concurrency_limits/test_worker_mechanics.py EEEEEEEEEE [ 20%] tests/fundamentals/test_async_dependencies.py EEEEEEEEE [ 21%] tests/fundamentals/test_builtin_tasks.py EE [ 21%] tests/fundamentals/test_cancellation.py EEE [ 22%] tests/fundamentals/test_context_injection.py EEEE [ 22%] tests/fundamentals/test_cron.py EEEEEEE [ 23%] tests/fundamentals/test_errors.py EE [ 24%] tests/fundamentals/test_idempotency.py EEEE [ 24%] tests/fundamentals/test_logging.py EEE [ 25%] tests/fundamentals/test_perpetual.py EEEEEEEE [ 26%] tests/fundamentals/test_progress_state.py EEE [ 26%] tests/fundamentals/test_results.py E [ 26%] tests/fundamentals/test_retries.py EEEEEE [ 27%] tests/fundamentals/test_scheduling.py EEEEEEE [ 28%] tests/fundamentals/test_self_perpetuation.py EEE [ 29%] tests/fundamentals/test_shared_dependencies.py EEEEEEEEEEEEE [ 31%] tests/fundamentals/test_striking.py EEE [ 31%] tests/fundamentals/test_sync_dependencies.py EEEEEE [ 32%] tests/fundamentals/test_timeouts.py EEEEE [ 33%] tests/instrumentation/test_counters.py EEEEEEEEEEEE [ 34%] tests/instrumentation/test_export.py EEEEEE [ 35%] tests/test_agenda.py EEEEEEEEEEEEEEEEEE [ 38%] tests/test_cancellation.py EEEEEEEEEEEE [ 40%] tests/test_dependencies_advanced.py EEEEEEEEEEEEEE [ 42%] tests/test_dependencies_core.py EEEEEEEEEEE [ 43%] tests/test_dependency_uniqueness.py EEEE [ 44%] tests/test_docket_clear.py EEEEEEEEEEEEE [ 46%] tests/test_docket_execution.py EEEEEEEEEEEEEEEEE [ 48%] tests/test_docket_keys.py EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE [ 53%] tests/test_docket_registration.py EEEEEEEEEEEE [ 55%] tests/test_execution.py EEEEEEEEEEEE [ 57%] tests/test_execution_state.py EEEEEEEEEEEEE [ 59%] tests/test_fallback_task.py EEEEEEEE [ 60%] tests/test_handler_semantics.py EEEEE [ 60%] tests/test_key_leak_protection.py EEEEEE [ 61%] tests/test_memory_backend.py EEEEE [ 62%] tests/test_perpetual_race.py EEEEEEEEEEEEEE [ 64%] tests/test_perpetual_state.py EEEEEEEE [ 65%] tests/test_progress_basics.py EEEEEEEEEEE [ 67%] tests/test_progress_pubsub.py EEEEEEEE [ 68%] tests/test_redelivery.py EEEEEEEEEE [ 69%] tests/test_results_retrieval.py EEEEEEEEEEEEE [ 71%] tests/test_results_storage.py EEEEEEEEEEEEEEEEEE [ 74%] tests/test_strikelist.py EEEEEEEEEEEEEEEEEEEEEEE [ 77%] tests/test_striking.py EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE [ 83%] tests/test_testing.py EEEEEEEEEEEEEEEEEEEEEEEEEEE [ 87%] tests/test_uuid7.py EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE [ 91%] tests/worker/test_bootstrap.py EEEEEEEE [ 92%] tests/worker/test_core.py EEEEEEEEEEEEEE [ 94%] tests/worker/test_invariants.py EEEEEEEE [ 95%] tests/worker/test_lifecycle.py EEEEEEEEEE [ 97%] tests/worker/test_scheduling.py EEEEEEEEEEEEE [ 99%] tests/worker/test_ttl_zero.py EEEEE [100%] ==================================== ERRORS ==================================== _________ ERROR at setup of test_iterate_with_timeout_normal_iteration _________ fixturedef = request = > @pytest.hookimpl(wrapper=True) def pytest_fixture_setup(fixturedef: FixtureDef, request) -> object | None: asyncio_mode = _get_asyncio_mode(request.config) if not _is_asyncio_fixture_function(fixturedef.func): if asyncio_mode == Mode.STRICT: # Ignore async fixtures without explicit asyncio mark in strict mode # This applies to pytest_trio fixtures, for example return (yield) if not _is_coroutine_or_asyncgen(fixturedef.func): return (yield) default_loop_scope = request.config.getini("asyncio_default_fixture_loop_scope") loop_scope = ( getattr(fixturedef.func, "_loop_scope", None) or default_loop_scope or fixturedef.scope ) runner_fixture_id = f"_{loop_scope}_scoped_runner" runner = request.getfixturevalue(runner_fixture_id) synchronizer = _fixture_synchronizer(fixturedef, runner, request) _make_asyncio_fixture_function(synchronizer, loop_scope) with MonkeyPatch.context() as c: c.setattr(fixturedef, "func", synchronizer) > hook_result = yield ^^^^^ /usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py:696: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py:272: in _asyncgen_fixture_wrapper result = runner.run(setup(), context=context) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib64/python3.14/asyncio/runners.py:127: in run return self._loop.run_until_complete(task) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib64/python3.14/asyncio/base_events.py:719: in run_until_complete return future.result() ^^^^^^^^^^^^^^^ /usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py:268: in setup res = await gen_obj.__anext__() # type: ignore[union-attr] ^^^^^^^^^^^^^^^^^^^^^^^^^ tests/conftest.py:195: in docket async with Docket(name=name, url=redis_url) as docket: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../BUILDROOT/usr/lib/python3.14/site-packages/docket/docket.py:189: in __aenter__ await self._stack.enter_async_context(self._redis) /usr/lib64/python3.14/contextlib.py:668: in enter_async_context result = await _enter(cm) ^^^^^^^^^^^^^^^^ ../BUILDROOT/usr/lib/python3.14/site-packages/docket/_redis.py:126: in __aenter__ self._connection_pool = await self._connection_pool_from_url() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../BUILDROOT/usr/lib/python3.14/site-packages/docket/_redis.py:248: in _connection_pool_from_url return await self._memory_connection_pool(decode_responses) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../BUILDROOT/usr/lib/python3.14/site-packages/docket/_redis.py:260: in _memory_connection_pool _patch_fakeredis_lua_runtime() ../BUILDROOT/usr/lib/python3.14/site-packages/docket/_redis.py:369: in _patch_fakeredis_lua_runtime from fakeredis.commands_mixins.scripting_mixin import ( /usr/lib/python3.14/site-packages/fakeredis/commands_mixins/scripting_mixin.py:33: in LUA_MODULE = importlib.import_module(__LUA_RUNTIMES_MAP[LUA_VERSION]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'lupa.lua51', package = None def import_module(name, package=None): """Import a module. The 'package' argument is required when performing a relative import. It specifies the package to use as the anchor point from which to resolve the relative import to an absolute import. """ level = 0 if name.startswith('.'): if not package: raise TypeError("the 'package' argument is required to perform a " f"relative import for {name!r}") for character in name: if character != '.': break level += 1 > return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E ModuleNotFoundError: No module named 'lupa.lua51' /usr/lib64/python3.14/importlib/__init__.py:88: ModuleNotFoundError ______ ERROR at setup of test_iterate_with_timeout_yields_none_on_timeout ______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____ ERROR at setup of test_iterate_with_timeout_stops_on_stop_iteration ______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_iterate_with_timeout_cleanup_on_break _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______ ERROR at setup of test_iterate_with_timeout_cleanup_on_exception _______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_module_invocation_as_cli_entrypoint __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_memory_url_rejected[cli_args0] _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_memory_url_rejected[cli_args1] _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_memory_url_rejected[cli_args2] _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_memory_url_rejected[cli_args3] _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_memory_url_rejected[cli_args4] _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_memory_url_rejected[cli_args5] _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_memory_url_rejected[cli_args6] _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_memory_url_rejected[cli_args7] _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_memory_url_rejected[cli_args8] _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____ ERROR at setup of test_valid_urls_accepted[redis://localhost:6379/0] _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __ ERROR at setup of test_valid_urls_accepted[redis://user:pass@host:6379/1] ___ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_valid_urls_accepted[rediss://secure.example.com:6380/0] _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_valid_urls_accepted[unix:///var/run/redis.sock] ____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______________ ERROR at setup of test_worker_accepts_memory_url _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________________ ERROR at setup of test_version_command ____________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_version_matches_semantic_versioning __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___ ERROR at setup of test_worker_command_exposes_all_the_options_of_worker ____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________________ ERROR at setup of test_worker_command _____________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________________ ERROR at setup of test_rich_logging_format __________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________________ ERROR at setup of test_plain_logging_format __________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_basic_concurrency_limit ________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______________ ERROR at setup of test_per_task_concurrency_limit _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_concurrency_limit_single_argument ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_concurrency_limit_different_arguments _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_concurrency_limit_max_concurrent ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______ ERROR at setup of test_concurrency_limit_missing_argument_error ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_concurrency_limit_with_custom_scope __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_concurrency_limit_single_dependency_validation _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___ ERROR at setup of test_concurrency_limit_without_concurrency_dependency ____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_concurrency_limit_uninitialized ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_concurrency_limit_initialized _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_concurrency_limit_overlapping_execution ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_concurrency_limit_edge_cases ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_concurrency_keys_are_handled ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_worker_concurrency_with_task_failures _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __ ERROR at setup of test_worker_concurrency_error_handling_during_execution ___ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___ ERROR at setup of test_worker_concurrency_multiple_workers_coordination ____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_worker_concurrency_refresh_handles_redis_errors ____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______ ERROR at setup of test_worker_concurrency_robustness_under_stress _______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_worker_concurrency_edge_cases _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_worker_graceful_shutdown_with_concurrency_management __ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_worker_concurrency_limits_task_queuing_behavior ____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_worker_concurrency_different_customer_branches _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______ ERROR at setup of test_worker_concurrency_limits_different_scopes _______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___ ERROR at setup of test_worker_concurrency_refresh_mechanism_integration ____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_worker_concurrency_with_quick_tasks __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___ ERROR at setup of test_worker_concurrency_with_dependencies_integration ____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __ ERROR at setup of test_concurrency_limited_task_successfully_acquires_slot __ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_task_timeout_with_explicit_timeout ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_task_timeout_with_concurrent_tasks ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_explicit_timeout_limits_long_tasks ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_short_tasks_complete_within_timeout __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_redeliveries_respect_concurrency_limits ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_concurrency_blocked_task_executes_exactly_once _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_worker_concurrency_missing_argument_fails_task _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______ ERROR at setup of test_worker_concurrency_no_limit_early_return ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_worker_concurrency_missing_argument_shows_available_args _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_worker_concurrency_cleanup_on_success _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_worker_concurrency_cleanup_on_failure _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___ ERROR at setup of test_worker_concurrency_cleanup_after_task_completion ____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___ ERROR at setup of test_worker_handles_concurrent_task_cleanup_gracefully ___ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____ ERROR at setup of test_finally_block_releases_concurrency_on_success _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_stale_concurrency_slots_are_scavenged_when_full ____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____ ERROR at setup of test_graceful_shutdown_releases_concurrency_slots ______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_simple_function_dependencies ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_contextual_dependencies ________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_dependencies_of_dependencies ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____ ERROR at setup of test_dependencies_can_ask_for_docket_dependencies ______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_dependency_failures_are_task_failures _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_contextual_dependency_before_failures_are_task_failures _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_contextual_dependency_after_failures_are_task_failures _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_dependencies_can_ask_for_task_arguments ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_task_arguments_may_be_optional _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_all_dockets_have_a_trace_task _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_all_dockets_have_a_fail_task ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_cancelling_future_task _________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______________ ERROR at setup of test_cancelling_immediate_task _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______________ ERROR at setup of test_cancellation_is_idempotent _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_supports_requesting_current_docket ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_supports_requesting_current_worker ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_supports_requesting_current_execution _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_supports_requesting_current_task_key __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_cron_task_reschedules_itself ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_cron_tasks_are_automatically_scheduled _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_cron_tasks_continue_after_errors ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_cron_tasks_can_cancel_themselves ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_cron_supports_vixie_keywords ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_automatic_cron_waits_for_scheduled_time ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________________ ERROR at setup of test_cron_with_timezone ___________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_adding_task_by_name_when_not_registered ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_adding_task_with_unbindable_arguments _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________________ ERROR at setup of test_adding_is_idempotent __________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_task_keys_are_idempotent_in_the_future _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_task_keys_are_idempotent_between_the_future_and_present _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_task_keys_are_idempotent_in_the_present ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_tasks_can_opt_into_argument_logging __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____ ERROR at setup of test_tasks_can_opt_into_logging_collection_lengths _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_logging_inside_of_task _________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________________ ERROR at setup of test_perpetual_tasks ____________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_perpetual_tasks_can_cancel_themselves _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______ ERROR at setup of test_perpetual_tasks_can_change_their_parameters ______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____ ERROR at setup of test_perpetual_tasks_perpetuate_even_after_errors ______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_perpetual_tasks_can_be_automatically_scheduled _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___ ERROR at setup of test_perpetual_tasks_can_schedule_next_run_after_delay ___ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___ ERROR at setup of test_cancelled_automatic_perpetual_can_be_rescheduled ____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_perpetual_tasks_can_schedule_next_run_at_specific_time _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______________ ERROR at setup of test_tasks_can_report_progress _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_tasks_can_access_execution_state ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______________ ERROR at setup of test_execution_state_lifecycle _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______ ERROR at setup of test_task_results_can_be_stored_and_retrieved ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________________ ERROR at setup of test_errors_are_logged ___________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_supports_simple_linear_retries _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______ ERROR at setup of test_supports_simple_linear_retries_with_delay _______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______________ ERROR at setup of test_supports_infinite_retries _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_supports_exponential_backoff_retries __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_supports_exponential_backoff_retries_under_maximum_delay _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______________ ERROR at setup of test_immediate_task_execution ________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_immediate_task_execution_by_name ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________________ ERROR at setup of test_scheduled_execution __________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________________ ERROR at setup of test_rescheduling_later ___________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________________ ERROR at setup of test_rescheduling_earlier __________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________________ ERROR at setup of test_rescheduling_by_name __________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______ ERROR at setup of test_replace_without_existing_task_acts_like_add ______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_self_perpetuating_immediate_tasks ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_self_perpetuating_scheduled_tasks ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_infinitely_self_perpetuating_tasks ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_shared_dependency_is_initialized_once _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_shared_dependencies_are_same_instance _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_shared_identity_is_factory_function __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_shared_cleanup_on_worker_exit _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______________ ERROR at setup of test_shared_depending_on_shared _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______________ ERROR at setup of test_shared_depending_on_depends ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______ ERROR at setup of test_shared_can_access_current_docket_and_worker ______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_late_registered_task_with_new_shared __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_multiple_shared_cleanup_order _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_shared_cleanup_on_init_failure _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_shared_async_function_factory _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_shared_sync_function_factory ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_shared_sync_context_manager_factory __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________________ ERROR at setup of test_striking_entire_tasks _________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______________ ERROR at setup of test_striking_entire_parameters _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_striking_tasks_for_specific_parameters _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______________ ERROR at setup of test_sync_function_dependencies _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_sync_contextual_dependencies ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_mixed_sync_and_async_dependencies ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_sync_dependencies_of_dependencies ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___ ERROR at setup of test_sync_dependencies_can_ask_for_docket_dependencies ___ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_mixed_sync_async_nested_dependencies __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________________ ERROR at setup of test_simple_timeout _____________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_simple_timeout_cancels_tasks ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_timeout_can_be_extended ________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_timeout_extends_by_base_by_default ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_timeout_is_compatible_with_retry ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_adding_a_task_increments_counter ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_replacing_a_task_increments_counter __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_cancelling_a_task_increments_counter __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______ ERROR at setup of test_worker_execution_increments_task_counters _______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_failed_task_increments_failure_counter _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_retried_task_increments_retry_counter _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_exhausted_retried_task_increments_retry_counter ____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_retried_task_metric_uses_bounded_labels ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______ ERROR at setup of test_perpetuated_task_metric_uses_bounded_labels ______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_redelivered_tasks_increment_redelivered_counter ____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____ ERROR at setup of test_superseded_task_increments_superseded_counter _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_replaced_task_only_counts_replacement _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______________ ERROR at setup of test_task_duration_is_measured _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_task_punctuality_is_measured ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_task_running_gauge_is_incremented ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_worker_publishes_depth_gauges _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_healthcheck_server_returns_ok _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_metrics_server_raises_import_error_without_sdk _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________________ ERROR at setup of test_agenda_creation ____________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_agenda_add_single_task _________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______________ ERROR at setup of test_agenda_add_multiple_tasks _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________________ ERROR at setup of test_agenda_scatter_basic __________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_agenda_scatter_with_start_time _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______________ ERROR at setup of test_agenda_scatter_with_jitter _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_agenda_scatter_with_large_jitter ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______________ ERROR at setup of test_agenda_scatter_single_task _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________________ ERROR at setup of test_agenda_scatter_empty __________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_agenda_scatter_heterogeneous_tasks ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_agenda_scatter_preserves_order _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________________ ERROR at setup of test_agenda_reusability ___________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_agenda_scatter_requires_over_parameter _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_agenda_scatter_with_task_by_name ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_agenda_scatter_with_non_positive_over_parameter ____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______ ERROR at setup of test_agenda_scatter_partial_scheduling_behavior _______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_agenda_scatter_auto_registers_unregistered_functions __ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________________ ERROR at setup of test_agenda_clear ______________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________________ ERROR at setup of test_cancel_running_task __________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______________ ERROR at setup of test_cancel_running_task_state _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_cancel_running_task_with_cleanup ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_cancel_task_that_ignores_cancellation _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_cancel_already_completed_is_noop ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_cancel_publishes_state_event ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_cancel_only_affects_running_worker ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______ ERROR at setup of test_cancel_running_task_with_zero_execution_ttl ______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______ ERROR at setup of test_cancelled_task_with_retry_does_not_retry ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____ ERROR at setup of test_cancelled_perpetual_task_does_not_perpetuate ______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_cancel_running_task_with_timeout ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_get_result_raises_execution_cancelled_for_cancelled_task _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______________ ERROR at setup of test_sync_function_dependency ________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_sync_context_manager_dependency ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_mixed_sync_and_async_dependencies ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______________ ERROR at setup of test_nested_sync_dependencies ________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_sync_dependency_with_docket_context __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______ ERROR at setup of test_sync_context_manager_cleanup_on_exception _______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_sync_dependency_caching ________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______________ ERROR at setup of test_mixed_nested_dependencies _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_contextvar_isolation_between_tasks ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_contextvar_cleanup_after_task _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_dependency_cache_isolated_between_tasks ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______________ ERROR at setup of test_async_exit_stack_cleanup ________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_contextvar_reset_on_reentrant_call ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_contextvar_not_leaked_to_caller ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_dependencies_may_be_duplicated _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_users_can_provide_dependencies_directly ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_user_provide_retries_are_used _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____ ERROR at setup of test_user_can_request_a_retry_after_a_delay[Retry] _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_user_can_request_a_retry_after_a_delay[ExponentialRetry] _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___ ERROR at setup of test_retry_in_is_backwards_compatible_alias_for_after ____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __ ERROR at setup of test_user_can_request_a_retry_at_a_specific_time[Retry] ___ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_user_can_request_a_retry_at_a_specific_time[ExponentialRetry] _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_user_can_request_a_retry_at_a_specific_time_in_the_past _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____ ERROR at setup of test_dependencies_error_for_missing_task_argument ______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_a_task_argument_cannot_ask_for_itself _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_retries_must_be_unique _________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_runtime_subclasses_must_be_unique ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______ ERROR at setup of test_failure_handler_subclasses_must_be_unique _______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____ ERROR at setup of test_completion_handler_subclasses_must_be_unique ______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________________ ERROR at setup of test_clear_empty_docket ___________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______________ ERROR at setup of test_clear_with_immediate_tasks _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______________ ERROR at setup of test_clear_with_scheduled_tasks _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_clear_with_mixed_tasks _________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_clear_with_parked_tasks ________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_clear_preserves_strikes ________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______________ ERROR at setup of test_clear_returns_total_count _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______________ ERROR at setup of test_clear_no_redis_key_leaks ________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_clear_with_execution_ttl_zero _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_stream_not_created_on_docket_init ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_ensure_stream_and_group_is_idempotent _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______ ERROR at setup of test_docket_without_worker_does_not_create_group ______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_snapshot_handles_nogroup_with_real_redis[real] _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______ ERROR at setup of test_docket_schedule_method_with_immediate_task _______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_docket_schedule_with_stricken_task ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_get_execution_nonexistent_key _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_get_execution_for_scheduled_task ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_get_execution_for_queued_task _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_get_execution_function_not_registered _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_get_execution_with_complex_args ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_get_execution_claim_check_pattern ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_get_execution_with_incomplete_data ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_get_execution_with_missing_when ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_get_execution_with_unregistered_function_creates_placeholder _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_cancelled_state_creates_tombstone ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_cancelled_state_respects_ttl ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_cancelled_state_with_ttl_zero _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______________ ERROR at setup of test_get_execution_after_cancel _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_replace_does_not_set_cancelled_state __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_cancellation_idempotent_with_tombstone _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________________ ERROR at setup of test_prefix_returns_name __________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_key_builds_correct_key _________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______________ ERROR at setup of test_queue_key_uses_key_method _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______________ ERROR at setup of test_stream_key_uses_key_method _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______________ ERROR at setup of test_workers_set_uses_key_method ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_known_task_key_uses_key_method _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_parked_task_key_uses_key_method ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_stream_id_key_uses_key_method _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______________ ERROR at setup of test_runs_key_uses_key_method ________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_cancel_channel_uses_key_method _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_results_collection_uses_key_method ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_worker_tasks_set_uses_key_method ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_task_workers_set_uses_key_method ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_worker_group_name_not_prefixed _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___ ERROR at setup of test_docket_propagates_connection_errors_on_operation ____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_is_cluster_url[redis://localhost:6379/0-False] _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_is_cluster_url[rediss://localhost:6379/0-False] ____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_is_cluster_url[memory://-False] ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_is_cluster_url[redis+cluster://localhost:6379/0-True] _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_is_cluster_url[rediss+cluster://localhost:6379/0-True] _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_is_cluster_url[redis+cluster://user:pass@localhost:6379/0-True] _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_is_cluster_url[rediss+cluster://user:pass@localhost:6379/0-True] _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_normalize_cluster_url[redis+cluster://localhost:6379/0-redis://localhost:6379/0] _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_normalize_cluster_url[rediss+cluster://localhost:6379/0-rediss://localhost:6379/0] _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_normalize_cluster_url[redis+cluster://user:pass@localhost:6379/0-redis://user:pass@localhost:6379/0] _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_normalize_cluster_url[rediss+cluster://user:pass@localhost:6379/0-rediss://user:pass@localhost:6379/0] _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______ ERROR at setup of test_prefix_returns_hash_tagged_name_for_cluster ______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_key_builds_hash_tagged_key_for_cluster _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_strikelist_prefix_returns_hash_tagged_name_for_cluster _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_strikelist_prefix_without_redis ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______ ERROR at setup of test_redis_connection_aenter_is_not_reentrant ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_redis_connection_cluster_client_returns_none_when_not_cluster _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_redis_connection_normalized_url_returns_original_for_non_cluster _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_standard_tasks_available_after_init __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______________ ERROR at setup of test_register_task_before_aenter ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_registered_task_usable_after_aenter __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______________ ERROR at setup of test_tasks_persist_after_aexit _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_docket_reentry_preserves_tasks _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________________ ERROR at setup of test_register_collection __________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_register_task_with_custom_name _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_register_task_with_multiple_names ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_register_task_with_empty_names_defaults_to_function_name _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_register_task_with_none_names_defaults_to_function_name _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_schedule_task_by_alias _________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_alias_appears_in_worker_announcements _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______________ ERROR at setup of test_compact_signature[no_args-] ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_compact_signature[one_arg-a: str] ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______ ERROR at setup of test_compact_signature[two_args-a: str, b: str] _______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_compact_signature[optional_args-a: str, b: str, c: str = 'c'] _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_compact_signature[logged_args-a: str, b: str = 'foo'] _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_compact_signature[dependencies-a: str, b: int = 42, ...] _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______ ERROR at setup of test_compact_signature[only_dependencies-...] ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_execution_function_is_immutable ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______________ ERROR at setup of test_execution_args_is_immutable ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_execution_kwargs_is_immutable _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______________ ERROR at setup of test_execution_key_is_immutable _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_execution_from_message_without_fallback_raises_for_unknown_task _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________________ ERROR at setup of test_run_state_scheduled __________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_run_state_pending_to_running ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_run_state_completed_on_success _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_run_state_failed_on_exception _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_run_state_ttl_after_completion _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________________ ERROR at setup of test_custom_execution_ttl __________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______________ ERROR at setup of test_full_lifecycle_integration _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_run_add_returns_run_instance ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_error_message_stored_on_failure ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_execution_sync_with_no_redis_data ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_execution_sync_with_missing_state_field ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_execution_sync_with_string_state_value _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_mark_as_failed_without_error_message __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_default_fallback_task_logs_and_acks __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____ ERROR at setup of test_custom_fallback_receives_original_args_kwargs _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_fallback_can_access_function_name ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_fallback_dependency_injection _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_fallback_custom_user_dependency ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_fallback_return_completes_task _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_fallback_exception_triggers_retry ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_execution_function_name_matches_for_known_tasks ____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_retrying_task_is_not_marked_as_failed _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_exhausted_retries_marks_task_as_failed _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_failed_perpetual_task_is_rescheduled __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_retry_and_perpetual_work_together ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_perpetual_after_is_respected_on_failure ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_leak_detection_catches_keys_without_ttl ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______________ ERROR at setup of test_permanent_keys_are_exempt _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________________ ERROR at setup of test_exemption_mechanism __________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________________ ERROR at setup of test_multiple_exemptions __________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______________ ERROR at setup of test_worker_task_sets_are_exempt ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________________ ERROR at setup of test_queue_is_cleaned_up __________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________________ ERROR at setup of test_docket_memory_backend _________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_multiple_memory_dockets ________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_memory_backend_reuses_server ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_different_memory_urls_are_isolated ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_memory_url_with_path_isolation _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_stale_perpetual_on_complete_overwrites_correct_successor[execution_ttl=0] _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_stale_perpetual_on_complete_overwrites_correct_successor[execution_ttl=60s] _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____ ERROR at setup of test_is_superseded_after_replace[execution_ttl=0] ______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_is_superseded_after_replace[execution_ttl=60s] _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_superseded_message_skipped_before_execution[execution_ttl=0] _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_superseded_message_skipped_before_execution[execution_ttl=60s] _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_old_message_without_generation_runs_normally[execution_ttl=0] _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_old_message_without_generation_runs_normally[execution_ttl=60s] _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_new_task_moved_by_old_scheduler_runs_normally[execution_ttl=0] _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_new_task_moved_by_old_scheduler_runs_normally[execution_ttl=60s] _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __ ERROR at setup of test_replace_skips_stale_stream_message[execution_ttl=0] __ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_replace_skips_stale_stream_message[execution_ttl=60s] _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_perpetual_successor_survives_mark_as_terminal[execution_ttl=0] _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_perpetual_successor_survives_mark_as_terminal[execution_ttl=60s] _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_perpetual_task_with_ttl_zero ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_perpetual_task_state_isolation _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __ ERROR at setup of test_perpetual_task_no_state_accumulation_with_ttl_zero ___ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_rapid_perpetual_tasks_no_conflicts ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______ ERROR at setup of test_perpetual_same_key_no_state_accumulation ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_perpetual_task_state_transitions_with_same_key _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____ ERROR at setup of test_perpetual_publishes_completed_event[ttl_zero] _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___ ERROR at setup of test_perpetual_publishes_completed_event[default_ttl] ____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________________ ERROR at setup of test_progress_create ____________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________________ ERROR at setup of test_progress_set_total ___________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______________ ERROR at setup of test_progress_set_total_invalid _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______________ ERROR at setup of test_progress_increment_invalid _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________________ ERROR at setup of test_progress_increment ___________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________________ ERROR at setup of test_progress_set_message __________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_progress_dependency_injection _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_progress_deleted_on_completion _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_progress_with_multiple_increments ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_progress_without_total _________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______________ ERROR at setup of test_concurrent_progress_updates ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_progress_publish_events ________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________________ ERROR at setup of test_state_publish_events __________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_run_subscribe_both_state_and_progress _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_completed_state_publishes_event ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_failed_state_publishes_event_with_error ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______ ERROR at setup of test_end_to_end_progress_monitoring_with_worker _______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_end_to_end_failed_task_monitoring ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_subscribing_to_completed_execution ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_redelivery_from_abandoned_worker ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_long_running_task_not_duplicated ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_retry_with_long_running_task ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_multiple_workers_no_duplicate_execution ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_perpetual_task_with_lease_renewal ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_user_timeout_longer_than_redelivery __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_workers_with_same_redelivery_timeout __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______ ERROR at setup of test_worker_joining_doesnt_steal_renewed_lease _______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_lease_renewal_recovers_from_redis_error ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___ ERROR at setup of test_lease_renewal_exits_cleanly_with_no_active_tasks ____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_get_result_waits_for_completion ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________________ ERROR at setup of test_get_result_timeout ___________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_multiple_concurrent_get_result_calls __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_get_result_on_already_completed_task __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_get_result_on_already_failed_task ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_get_result_with_expired_timeout ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______ ERROR at setup of test_get_result_failed_task_without_result_key _______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_get_result_with_malformed_result_data _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __ ERROR at setup of test_get_result_failed_task_with_missing_exception_data ___ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_get_result_with_timeout_timedelta ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_get_result_with_deadline_datetime ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___ ERROR at setup of test_get_result_with_both_timeout_and_deadline_raises ____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_get_result_timeout_on_pending_task ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_result_storage_for_int_return _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_result_storage_for_str_return _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_result_storage_for_dict_return _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_result_storage_for_object_return ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_no_storage_for_none_annotated_task ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______________ ERROR at setup of test_no_storage_for_runtime_none ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_exception_storage_and_retrieval ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_result_key_stored_in_execution_record _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_result_storage_uses_provided_or_default ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______ ERROR at setup of test_result_storage_uses_custom_when_provided ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_result_storage_custom_without_setup __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_cluster_store_get_nonexistent _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________________ ERROR at setup of test_cluster_store_ttl ___________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________________ ERROR at setup of test_cluster_store_delete __________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_cluster_store_get_many _________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_cluster_store_ttl_many _________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_cluster_store_put_many _________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______________ ERROR at setup of test_cluster_store_delete_many _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________________ ERROR at setup of test_context_manager ____________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________________ ERROR at setup of test_explicit_aenter_aexit _________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_aenter_is_not_reentrant ________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________________ ERROR at setup of test_context_manager_reuse _________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________________ ERROR at setup of test_prefix_property ____________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________________ ERROR at setup of test_strike_key_property __________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________________ ERROR at setup of test_local_only_mode ____________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_memory_url_without_fakeredis ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_send_instruction_requires_connection __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________________ ERROR at setup of test_strike_method _____________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________________ ERROR at setup of test_restore_method _____________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________________ ERROR at setup of test_receives_strikes ____________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________________ ERROR at setup of test_receives_restore ____________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______________ ERROR at setup of test_receives_multiple_strikes _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_new_instance_receives_existing_strikes _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________________ ERROR at setup of test_all_operators _____________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_empty_dict_not_stricken ________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_type_mismatch_handled_gracefully ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_invariant_conditions_only_default_after_remove _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_invariant_no_empty_dicts_in_task_strikes_after_restore _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_invariant_no_empty_dicts_in_parameter_strikes_after_restore _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______ ERROR at setup of test_invariant_multiple_strike_restore_cycles ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __ ERROR at setup of test_invariant_strikelist_state_persists_through_context __ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______________ ERROR at setup of test_all_dockets_see_all_strikes ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_striking_is_idempotent _________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_restoring_is_idempotent ________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_strike_operators[==-42-42-True] ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_strike_operators[==-42-43-False] ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_strike_operators[!=-42-43-True] ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_strike_operators[!=-42-42-False] ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_strike_operators[>-42-43-True] _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_strike_operators[>-42-42-False] ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_strike_operators[>-42-41-False] ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_strike_operators[>=-42-43-True] ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_strike_operators[>=-42-42-True] ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_strike_operators[>=-42-41-False] ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_strike_operators[<-42-41-True] _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_strike_operators[<-42-42-False] ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_strike_operators[<-42-43-False] ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_strike_operators[<=-42-41-True] ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____________ ERROR at setup of test_strike_operators[<=-42-42-True] ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_strike_operators[<=-42-43-False] ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______ ERROR at setup of test_strike_operators[between-value16-30-True] _______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______ ERROR at setup of test_strike_operators[between-value17-10-True] _______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______ ERROR at setup of test_strike_operators[between-value18-50-True] _______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______ ERROR at setup of test_strike_operators[between-value19-5-False] _______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______ ERROR at setup of test_strike_operators[between-value20-55-False] _______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_strike_operators[between-not a tuple-30-False] _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______ ERROR at setup of test_strike_operators[between-value22-30-False] _______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_strike_incomparable_values[>-42-string] ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_strike_incomparable_values[<-string-42] ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_strike_incomparable_values[>=-None-42] _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_strike_incomparable_values[<=-42-None] _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_strike_incomparable_values[>-value4-42] ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____ ERROR at setup of test_strike_incomparable_values[<-42-test_value5] ______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______ ERROR at setup of test_strike_incomparable_values[>=-value6-42] ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____ ERROR at setup of test_strike_incomparable_values[<=-42-test_value7] _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______ ERROR at setup of test_struck_automatic_perpetual_does_not_start _______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_restored_automatic_perpetual_does_start ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_strikes_loaded_event_is_set_after_initial_load _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___ ERROR at setup of test_assert_task_scheduled_finds_task_by_function_only ___ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_assert_task_scheduled_finds_task_by_function_and_args _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_assert_task_scheduled_finds_task_by_function_and_kwargs _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_assert_task_scheduled_finds_task_by_function_args_and_kwargs _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_assert_task_scheduled_finds_task_by_key ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_assert_task_scheduled_works_with_function_name _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_assert_task_scheduled_succeeds_with_multiple_matching_tasks _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_assert_task_scheduled_fails_when_task_not_found ____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___ ERROR at setup of test_assert_task_scheduled_fails_when_args_dont_match ____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __ ERROR at setup of test_assert_task_scheduled_fails_when_kwargs_dont_match ___ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___ ERROR at setup of test_assert_task_scheduled_finds_scheduled_future_task ___ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_assert_task_not_scheduled_succeeds_when_no_task ____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_assert_task_not_scheduled_succeeds_when_different_task _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___ ERROR at setup of test_assert_task_not_scheduled_fails_when_task_exists ____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____ ERROR at setup of test_assert_task_not_scheduled_with_specific_args ______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______________ ERROR at setup of test_assert_task_count_all_tasks ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_assert_task_count_for_specific_function ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_assert_task_count_zero _________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______ ERROR at setup of test_assert_task_count_fails_with_wrong_count ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_assert_task_count_with_function_name __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_assert_no_tasks_succeeds_when_empty __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______ ERROR at setup of test_assert_no_tasks_fails_when_tasks_present ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_assert_no_tasks_after_tasks_complete __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______ ERROR at setup of test_assert_task_scheduled_partial_kwargs_match _______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_assert_task_count_includes_future_and_immediate_tasks _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___ ERROR at setup of test_assert_task_scheduled_fails_when_key_doesnt_match ___ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______ ERROR at setup of test_assert_task_scheduled_fails_on_empty_docket ______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_uuid7_returns_uuid_object[vendored] __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_uuid7_returns_uuid_object[docket] ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_uuid7_returns_uuid_object[stdlib] ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_uuid7_is_version_7[vendored] ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______________ ERROR at setup of test_uuid7_is_version_7[docket] _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______________ ERROR at setup of test_uuid7_is_version_7[stdlib] _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_uuid7_is_variant_rfc4122[vendored] ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_uuid7_is_variant_rfc4122[docket] ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_uuid7_is_variant_rfc4122[stdlib] ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_uuid7_chronological_ordering[vendored] _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_uuid7_chronological_ordering[docket] __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_uuid7_chronological_ordering[stdlib] __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____ ERROR at setup of test_uuid7_monotonicity_rapid_generation[vendored] _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______ ERROR at setup of test_uuid7_monotonicity_rapid_generation[docket] ______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______ ERROR at setup of test_uuid7_monotonicity_rapid_generation[stdlib] ______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______________ ERROR at setup of test_uuid7_uniqueness[vendored] _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______________ ERROR at setup of test_uuid7_uniqueness[docket] ________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______________ ERROR at setup of test_uuid7_uniqueness[stdlib] ________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_uuid7_as_str[vendored] _________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________________ ERROR at setup of test_uuid7_as_str[docket] __________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________________ ERROR at setup of test_uuid7_as_str[stdlib] __________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_uuid7_as_int[vendored] _________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________________ ERROR at setup of test_uuid7_as_int[docket] __________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________________ ERROR at setup of test_uuid7_as_int[stdlib] __________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_uuid7_as_hex[vendored] _________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________________ ERROR at setup of test_uuid7_as_hex[docket] __________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________________ ERROR at setup of test_uuid7_as_hex[stdlib] __________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______________ ERROR at setup of test_uuid7_as_bytes[vendored] ________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_uuid7_as_bytes[docket] _________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_uuid7_as_bytes[stdlib] _________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_redis_key_cleanup_successful_task ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_redis_key_cleanup_failed_task _____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_redis_key_cleanup_cancelled_task ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____ ERROR at setup of test_verify_remaining_keys_have_ttl_detects_leaks ______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______ ERROR at setup of test_consumer_group_created_on_first_worker_read ______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_multiple_workers_racing_to_create_group ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_worker_handles_nogroup_error_gracefully ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_worker_handles_nogroup_in_xreadgroup __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_worker_acknowledges_messages ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________________ ERROR at setup of test_two_workers_split_work _________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______ ERROR at setup of test_worker_reconnects_when_connection_is_lost _______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_worker_respects_concurrency_limit ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_worker_handles_unregistered_task_execution_on_initial_delivery _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_worker_handles_unregistered_task_execution_on_redelivery _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________________ ERROR at setup of test_worker_announcements __________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________________ ERROR at setup of test_task_announcements ___________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______ ERROR at setup of test_worker_recovers_from_redis_errors[error0] _______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______ ERROR at setup of test_worker_recovers_from_redis_errors[error1] _______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______ ERROR at setup of test_worker_can_be_told_to_skip_automatic_tasks _______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_worker_concurrency_cleanup_without_dependencies ____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_worker_concurrency_no_limit_with_custom_docket _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_worker_exception_before_dependencies __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____ ERROR at setup of test_invariant_tasks_by_key_empty_after_completion _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____ ERROR at setup of test_invariant_tasks_by_key_no_growth_over_batches _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___ ERROR at setup of test_invariant_execution_counts_empty_after_completion ___ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_invariant_execution_counts_cleared_after_run_at_most __ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_invariant_worker_attributes_deleted_after_exit _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_invariant_cleanup_after_task_exceptions ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_invariant_cleanup_with_varied_tasks __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___ ERROR at setup of test_invariant_shared_context_reset_after_worker_exit ____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_run_forever_cancels_promptly_with_future_tasks _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __ ERROR at setup of test_run_until_finished_exits_promptly_with_future_tasks __ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_run_at_most_cancels_promptly_with_future_tasks _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___ ERROR at setup of test_worker_aexit_completes_on_immediate_cancellation ____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______ ERROR at setup of test_worker_done_set_after_early_cancellation ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___________ ERROR at setup of test_worker_rapid_start_cancel_cycles ____________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_worker_cancellation_during_setup_before_scheduler_created _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_cancellation_listener_handles_connection_error _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_cancellation_listener_handles_generic_exception ____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_worker_drains_active_tasks_on_shutdown _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __ ERROR at setup of test_perpetual_tasks_are_scheduled_close_to_target_time ___ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_worker_can_exit_from_perpetual_tasks_that_queue_further_tasks _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ___ ERROR at setup of test_worker_can_exit_from_long_horizon_perpetual_tasks ___ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________________ ERROR at setup of test_formatting_durations __________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______ ERROR at setup of test_worker_timeout_exceeds_redelivery_timeout _______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ________ ERROR at setup of test_replacement_race_condition_stream_tasks ________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_replace_task_in_queue_before_stream __________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______________ ERROR at setup of test_rapid_replace_operations ________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_duplicate_execution_race_condition_non_perpetual_task[default_ttl] _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _ ERROR at setup of test_duplicate_execution_race_condition_non_perpetual_task[zero_ttl] _ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______ ERROR at setup of test_wrongtype_error_with_legacy_known_task_key _______ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________ ERROR at setup of test_replace_task_with_legacy_known_key ___________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _________ ERROR at setup of test_worker_run_classmethod_memory_backend _________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ______________ ERROR at setup of test_task_executes_with_ttl_zero ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ ____ ERROR at setup of test_state_record_expires_immediately_with_ttl_zero _____ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _____________ ERROR at setup of test_result_storage_with_ttl_zero ______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ _______________ ERROR at setup of test_failed_task_with_ttl_zero _______________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ __________________ ERROR at setup of test_mixed_ttl_workload ___________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 696, in pytest_fixture_setup | hook_result = yield | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall | teardown.throw(exception) | ~~~~~~~~~~~~~~^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup | return (yield) | ^^^^^ | File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 1196, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3.14/site-packages/_pytest/fixtures.py", line 930, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 272, in _asyncgen_fixture_wrapper | result = runner.run(setup(), context=context) | File "/usr/lib64/python3.14/asyncio/runners.py", line 127, in run | return self._loop.run_until_complete(task) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py", line 268, in setup | res = await gen_obj.__anext__() # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/pydocket-0.17.9/tests/conftest.py", line 283, in key_leak_checker | await temp_worker.run_until_finished() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 368, in run_until_finished | return await self._run(forever=False) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 413, in _run | return await self._worker_loop(redis, forever=forever) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 548, in _worker_loop | async with TaskGroup() as infra: | ~~~~~~~~~^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 72, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib64/python3.14/asyncio/taskgroups.py", line 174, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 557, in _worker_loop | await self._schedule_all_automatic_perpetual_tasks() | File "/builddir/build/BUILD/python-pydocket-0.17.9-build/BUILDROOT/usr/lib/python3.14/site-packages/docket/worker.py", line 763, in _schedule_all_automatic_perpetual_tasks | async with redis.lock( | ~~~~~~~~~~^ | self.docket.key("perpetual:lock"), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | timeout=AUTOMATIC_PERPETUAL_LOCK_TIMEOUT_SECONDS, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | blocking=False, | ^^^^^^^^^^^^^^^ | ): | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 165, in __aexit__ | await self.release() | File "/usr/lib/python3.14/site-packages/redis/asyncio/lock.py", line 258, in do_release | await self.lua_release( | keys=[self.name], args=[expected_token], client=self.redis | ) | File "/usr/lib/python3.14/site-packages/redis/commands/core.py", line 5572, in __call__ | return await client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 616, in execute_command | return await conn.retry.call_with_retry( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ...<4 lines>... | ) | ^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry | return await do() | ^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response | return await self.parse_response(conn, command_name, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/redis/asyncio/client.py", line 637, in parse_response | response = await connection.read_response() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.14/site-packages/fakeredis/aioredis.py", line 185, in read_response | raise response | redis.exceptions.ResponseError: unknown command 'evalsha', with args beginning with: +------------------------------------ =========================== short test summary info ============================ ERROR tests/cli/test_iterate_with_timeout.py::test_iterate_with_timeout_normal_iteration ERROR tests/cli/test_iterate_with_timeout.py::test_iterate_with_timeout_yields_none_on_timeout ERROR tests/cli/test_iterate_with_timeout.py::test_iterate_with_timeout_stops_on_stop_iteration ERROR tests/cli/test_iterate_with_timeout.py::test_iterate_with_timeout_cleanup_on_break ERROR tests/cli/test_iterate_with_timeout.py::test_iterate_with_timeout_cleanup_on_exception ERROR tests/cli/test_module.py::test_module_invocation_as_cli_entrypoint - Re... ERROR tests/cli/test_url_validation.py::test_memory_url_rejected[cli_args0] ERROR tests/cli/test_url_validation.py::test_memory_url_rejected[cli_args1] ERROR tests/cli/test_url_validation.py::test_memory_url_rejected[cli_args2] ERROR tests/cli/test_url_validation.py::test_memory_url_rejected[cli_args3] ERROR tests/cli/test_url_validation.py::test_memory_url_rejected[cli_args4] ERROR tests/cli/test_url_validation.py::test_memory_url_rejected[cli_args5] ERROR tests/cli/test_url_validation.py::test_memory_url_rejected[cli_args6] ERROR tests/cli/test_url_validation.py::test_memory_url_rejected[cli_args7] ERROR tests/cli/test_url_validation.py::test_memory_url_rejected[cli_args8] ERROR tests/cli/test_url_validation.py::test_valid_urls_accepted[redis://localhost:6379/0] ERROR tests/cli/test_url_validation.py::test_valid_urls_accepted[redis://user:pass@host:6379/1] ERROR tests/cli/test_url_validation.py::test_valid_urls_accepted[rediss://secure.example.com:6380/0] ERROR tests/cli/test_url_validation.py::test_valid_urls_accepted[unix:///var/run/redis.sock] ERROR tests/cli/test_url_validation.py::test_worker_accepts_memory_url - Resp... ERROR tests/cli/test_version.py::test_version_command - ResponseError("unknow... ERROR tests/cli/test_version.py::test_version_matches_semantic_versioning - R... ERROR tests/cli/test_worker.py::test_worker_command_exposes_all_the_options_of_worker ERROR tests/cli/test_worker.py::test_worker_command - ResponseError("unknown ... ERROR tests/cli/test_worker.py::test_rich_logging_format - ResponseError("unk... ERROR tests/cli/test_worker.py::test_plain_logging_format - ResponseError("un... ERROR tests/concurrency_limits/test_basic.py::test_basic_concurrency_limit - ... ERROR tests/concurrency_limits/test_basic.py::test_per_task_concurrency_limit ERROR tests/concurrency_limits/test_basic.py::test_concurrency_limit_single_argument ERROR tests/concurrency_limits/test_basic.py::test_concurrency_limit_different_arguments ERROR tests/concurrency_limits/test_basic.py::test_concurrency_limit_max_concurrent ERROR tests/concurrency_limits/test_basic.py::test_concurrency_limit_missing_argument_error ERROR tests/concurrency_limits/test_basic.py::test_concurrency_limit_with_custom_scope ERROR tests/concurrency_limits/test_basic.py::test_concurrency_limit_single_dependency_validation ERROR tests/concurrency_limits/test_basic.py::test_concurrency_limit_without_concurrency_dependency ERROR tests/concurrency_limits/test_basic.py::test_concurrency_limit_uninitialized ERROR tests/concurrency_limits/test_basic.py::test_concurrency_limit_initialized ERROR tests/concurrency_limits/test_basic.py::test_concurrency_limit_overlapping_execution ERROR tests/concurrency_limits/test_basic.py::test_concurrency_limit_edge_cases ERROR tests/concurrency_limits/test_basic.py::test_concurrency_keys_are_handled ERROR tests/concurrency_limits/test_errors_and_resilience.py::test_worker_concurrency_with_task_failures ERROR tests/concurrency_limits/test_errors_and_resilience.py::test_worker_concurrency_error_handling_during_execution ERROR tests/concurrency_limits/test_errors_and_resilience.py::test_worker_concurrency_multiple_workers_coordination ERROR tests/concurrency_limits/test_errors_and_resilience.py::test_worker_concurrency_refresh_handles_redis_errors ERROR tests/concurrency_limits/test_errors_and_resilience.py::test_worker_concurrency_robustness_under_stress ERROR tests/concurrency_limits/test_errors_and_resilience.py::test_worker_concurrency_edge_cases ERROR tests/concurrency_limits/test_errors_and_resilience.py::test_worker_graceful_shutdown_with_concurrency_management ERROR tests/concurrency_limits/test_execution_patterns.py::test_worker_concurrency_limits_task_queuing_behavior ERROR tests/concurrency_limits/test_execution_patterns.py::test_worker_concurrency_different_customer_branches ERROR tests/concurrency_limits/test_execution_patterns.py::test_worker_concurrency_limits_different_scopes ERROR tests/concurrency_limits/test_execution_patterns.py::test_worker_concurrency_refresh_mechanism_integration ERROR tests/concurrency_limits/test_execution_patterns.py::test_worker_concurrency_with_quick_tasks ERROR tests/concurrency_limits/test_execution_patterns.py::test_worker_concurrency_with_dependencies_integration ERROR tests/concurrency_limits/test_execution_patterns.py::test_concurrency_limited_task_successfully_acquires_slot ERROR tests/concurrency_limits/test_redelivery.py::test_task_timeout_with_explicit_timeout ERROR tests/concurrency_limits/test_redelivery.py::test_task_timeout_with_concurrent_tasks ERROR tests/concurrency_limits/test_redelivery.py::test_explicit_timeout_limits_long_tasks ERROR tests/concurrency_limits/test_redelivery.py::test_short_tasks_complete_within_timeout ERROR tests/concurrency_limits/test_redelivery.py::test_redeliveries_respect_concurrency_limits ERROR tests/concurrency_limits/test_redelivery.py::test_concurrency_blocked_task_executes_exactly_once ERROR tests/concurrency_limits/test_worker_mechanics.py::test_worker_concurrency_missing_argument_fails_task ERROR tests/concurrency_limits/test_worker_mechanics.py::test_worker_concurrency_no_limit_early_return ERROR tests/concurrency_limits/test_worker_mechanics.py::test_worker_concurrency_missing_argument_shows_available_args ERROR tests/concurrency_limits/test_worker_mechanics.py::test_worker_concurrency_cleanup_on_success ERROR tests/concurrency_limits/test_worker_mechanics.py::test_worker_concurrency_cleanup_on_failure ERROR tests/concurrency_limits/test_worker_mechanics.py::test_worker_concurrency_cleanup_after_task_completion ERROR tests/concurrency_limits/test_worker_mechanics.py::test_worker_handles_concurrent_task_cleanup_gracefully ERROR tests/concurrency_limits/test_worker_mechanics.py::test_finally_block_releases_concurrency_on_success ERROR tests/concurrency_limits/test_worker_mechanics.py::test_stale_concurrency_slots_are_scavenged_when_full ERROR tests/concurrency_limits/test_worker_mechanics.py::test_graceful_shutdown_releases_concurrency_slots ERROR tests/fundamentals/test_async_dependencies.py::test_simple_function_dependencies ERROR tests/fundamentals/test_async_dependencies.py::test_contextual_dependencies ERROR tests/fundamentals/test_async_dependencies.py::test_dependencies_of_dependencies ERROR tests/fundamentals/test_async_dependencies.py::test_dependencies_can_ask_for_docket_dependencies ERROR tests/fundamentals/test_async_dependencies.py::test_dependency_failures_are_task_failures ERROR tests/fundamentals/test_async_dependencies.py::test_contextual_dependency_before_failures_are_task_failures ERROR tests/fundamentals/test_async_dependencies.py::test_contextual_dependency_after_failures_are_task_failures ERROR tests/fundamentals/test_async_dependencies.py::test_dependencies_can_ask_for_task_arguments ERROR tests/fundamentals/test_async_dependencies.py::test_task_arguments_may_be_optional ERROR tests/fundamentals/test_builtin_tasks.py::test_all_dockets_have_a_trace_task ERROR tests/fundamentals/test_builtin_tasks.py::test_all_dockets_have_a_fail_task ERROR tests/fundamentals/test_cancellation.py::test_cancelling_future_task - ... ERROR tests/fundamentals/test_cancellation.py::test_cancelling_immediate_task ERROR tests/fundamentals/test_cancellation.py::test_cancellation_is_idempotent ERROR tests/fundamentals/test_context_injection.py::test_supports_requesting_current_docket ERROR tests/fundamentals/test_context_injection.py::test_supports_requesting_current_worker ERROR tests/fundamentals/test_context_injection.py::test_supports_requesting_current_execution ERROR tests/fundamentals/test_context_injection.py::test_supports_requesting_current_task_key ERROR tests/fundamentals/test_cron.py::test_cron_task_reschedules_itself - Re... ERROR tests/fundamentals/test_cron.py::test_cron_tasks_are_automatically_scheduled ERROR tests/fundamentals/test_cron.py::test_cron_tasks_continue_after_errors ERROR tests/fundamentals/test_cron.py::test_cron_tasks_can_cancel_themselves ERROR tests/fundamentals/test_cron.py::test_cron_supports_vixie_keywords - Re... ERROR tests/fundamentals/test_cron.py::test_automatic_cron_waits_for_scheduled_time ERROR tests/fundamentals/test_cron.py::test_cron_with_timezone - ResponseErro... ERROR tests/fundamentals/test_errors.py::test_adding_task_by_name_when_not_registered ERROR tests/fundamentals/test_errors.py::test_adding_task_with_unbindable_arguments ERROR tests/fundamentals/test_idempotency.py::test_adding_is_idempotent - Res... ERROR tests/fundamentals/test_idempotency.py::test_task_keys_are_idempotent_in_the_future ERROR tests/fundamentals/test_idempotency.py::test_task_keys_are_idempotent_between_the_future_and_present ERROR tests/fundamentals/test_idempotency.py::test_task_keys_are_idempotent_in_the_present ERROR tests/fundamentals/test_logging.py::test_tasks_can_opt_into_argument_logging ERROR tests/fundamentals/test_logging.py::test_tasks_can_opt_into_logging_collection_lengths ERROR tests/fundamentals/test_logging.py::test_logging_inside_of_task - Respo... ERROR tests/fundamentals/test_perpetual.py::test_perpetual_tasks - ResponseEr... ERROR tests/fundamentals/test_perpetual.py::test_perpetual_tasks_can_cancel_themselves ERROR tests/fundamentals/test_perpetual.py::test_perpetual_tasks_can_change_their_parameters ERROR tests/fundamentals/test_perpetual.py::test_perpetual_tasks_perpetuate_even_after_errors ERROR tests/fundamentals/test_perpetual.py::test_perpetual_tasks_can_be_automatically_scheduled ERROR tests/fundamentals/test_perpetual.py::test_perpetual_tasks_can_schedule_next_run_after_delay ERROR tests/fundamentals/test_perpetual.py::test_cancelled_automatic_perpetual_can_be_rescheduled ERROR tests/fundamentals/test_perpetual.py::test_perpetual_tasks_can_schedule_next_run_at_specific_time ERROR tests/fundamentals/test_progress_state.py::test_tasks_can_report_progress ERROR tests/fundamentals/test_progress_state.py::test_tasks_can_access_execution_state ERROR tests/fundamentals/test_progress_state.py::test_execution_state_lifecycle ERROR tests/fundamentals/test_results.py::test_task_results_can_be_stored_and_retrieved ERROR tests/fundamentals/test_retries.py::test_errors_are_logged - ResponseEr... ERROR tests/fundamentals/test_retries.py::test_supports_simple_linear_retries ERROR tests/fundamentals/test_retries.py::test_supports_simple_linear_retries_with_delay ERROR tests/fundamentals/test_retries.py::test_supports_infinite_retries - Re... ERROR tests/fundamentals/test_retries.py::test_supports_exponential_backoff_retries ERROR tests/fundamentals/test_retries.py::test_supports_exponential_backoff_retries_under_maximum_delay ERROR tests/fundamentals/test_scheduling.py::test_immediate_task_execution - ... ERROR tests/fundamentals/test_scheduling.py::test_immediate_task_execution_by_name ERROR tests/fundamentals/test_scheduling.py::test_scheduled_execution - Respo... ERROR tests/fundamentals/test_scheduling.py::test_rescheduling_later - Respon... ERROR tests/fundamentals/test_scheduling.py::test_rescheduling_earlier - Resp... ERROR tests/fundamentals/test_scheduling.py::test_rescheduling_by_name - Resp... ERROR tests/fundamentals/test_scheduling.py::test_replace_without_existing_task_acts_like_add ERROR tests/fundamentals/test_self_perpetuation.py::test_self_perpetuating_immediate_tasks ERROR tests/fundamentals/test_self_perpetuation.py::test_self_perpetuating_scheduled_tasks ERROR tests/fundamentals/test_self_perpetuation.py::test_infinitely_self_perpetuating_tasks ERROR tests/fundamentals/test_shared_dependencies.py::test_shared_dependency_is_initialized_once ERROR tests/fundamentals/test_shared_dependencies.py::test_shared_dependencies_are_same_instance ERROR tests/fundamentals/test_shared_dependencies.py::test_shared_identity_is_factory_function ERROR tests/fundamentals/test_shared_dependencies.py::test_shared_cleanup_on_worker_exit ERROR tests/fundamentals/test_shared_dependencies.py::test_shared_depending_on_shared ERROR tests/fundamentals/test_shared_dependencies.py::test_shared_depending_on_depends ERROR tests/fundamentals/test_shared_dependencies.py::test_shared_can_access_current_docket_and_worker ERROR tests/fundamentals/test_shared_dependencies.py::test_late_registered_task_with_new_shared ERROR tests/fundamentals/test_shared_dependencies.py::test_multiple_shared_cleanup_order ERROR tests/fundamentals/test_shared_dependencies.py::test_shared_cleanup_on_init_failure ERROR tests/fundamentals/test_shared_dependencies.py::test_shared_async_function_factory ERROR tests/fundamentals/test_shared_dependencies.py::test_shared_sync_function_factory ERROR tests/fundamentals/test_shared_dependencies.py::test_shared_sync_context_manager_factory ERROR tests/fundamentals/test_striking.py::test_striking_entire_tasks - Respo... ERROR tests/fundamentals/test_striking.py::test_striking_entire_parameters - ... ERROR tests/fundamentals/test_striking.py::test_striking_tasks_for_specific_parameters ERROR tests/fundamentals/test_sync_dependencies.py::test_sync_function_dependencies ERROR tests/fundamentals/test_sync_dependencies.py::test_sync_contextual_dependencies ERROR tests/fundamentals/test_sync_dependencies.py::test_mixed_sync_and_async_dependencies ERROR tests/fundamentals/test_sync_dependencies.py::test_sync_dependencies_of_dependencies ERROR tests/fundamentals/test_sync_dependencies.py::test_sync_dependencies_can_ask_for_docket_dependencies ERROR tests/fundamentals/test_sync_dependencies.py::test_mixed_sync_async_nested_dependencies ERROR tests/fundamentals/test_timeouts.py::test_simple_timeout - ResponseErro... ERROR tests/fundamentals/test_timeouts.py::test_simple_timeout_cancels_tasks ERROR tests/fundamentals/test_timeouts.py::test_timeout_can_be_extended - Res... ERROR tests/fundamentals/test_timeouts.py::test_timeout_extends_by_base_by_default ERROR tests/fundamentals/test_timeouts.py::test_timeout_is_compatible_with_retry ERROR tests/instrumentation/test_counters.py::test_adding_a_task_increments_counter ERROR tests/instrumentation/test_counters.py::test_replacing_a_task_increments_counter ERROR tests/instrumentation/test_counters.py::test_cancelling_a_task_increments_counter ERROR tests/instrumentation/test_counters.py::test_worker_execution_increments_task_counters ERROR tests/instrumentation/test_counters.py::test_failed_task_increments_failure_counter ERROR tests/instrumentation/test_counters.py::test_retried_task_increments_retry_counter ERROR tests/instrumentation/test_counters.py::test_exhausted_retried_task_increments_retry_counter ERROR tests/instrumentation/test_counters.py::test_retried_task_metric_uses_bounded_labels ERROR tests/instrumentation/test_counters.py::test_perpetuated_task_metric_uses_bounded_labels ERROR tests/instrumentation/test_counters.py::test_redelivered_tasks_increment_redelivered_counter ERROR tests/instrumentation/test_counters.py::test_superseded_task_increments_superseded_counter ERROR tests/instrumentation/test_counters.py::test_replaced_task_only_counts_replacement ERROR tests/instrumentation/test_export.py::test_task_duration_is_measured - ... ERROR tests/instrumentation/test_export.py::test_task_punctuality_is_measured ERROR tests/instrumentation/test_export.py::test_task_running_gauge_is_incremented ERROR tests/instrumentation/test_export.py::test_worker_publishes_depth_gauges ERROR tests/instrumentation/test_export.py::test_healthcheck_server_returns_ok ERROR tests/instrumentation/test_export.py::test_metrics_server_raises_import_error_without_sdk ERROR tests/test_agenda.py::test_agenda_creation - ResponseError("unknown com... ERROR tests/test_agenda.py::test_agenda_add_single_task - ResponseError("unkn... ERROR tests/test_agenda.py::test_agenda_add_multiple_tasks - ResponseError("u... ERROR tests/test_agenda.py::test_agenda_scatter_basic - ResponseError("unknow... ERROR tests/test_agenda.py::test_agenda_scatter_with_start_time - ResponseErr... ERROR tests/test_agenda.py::test_agenda_scatter_with_jitter - ResponseError("... ERROR tests/test_agenda.py::test_agenda_scatter_with_large_jitter - ResponseE... ERROR tests/test_agenda.py::test_agenda_scatter_single_task - ResponseError("... ERROR tests/test_agenda.py::test_agenda_scatter_empty - ResponseError("unknow... ERROR tests/test_agenda.py::test_agenda_scatter_heterogeneous_tasks - Respons... ERROR tests/test_agenda.py::test_agenda_scatter_preserves_order - ResponseErr... ERROR tests/test_agenda.py::test_agenda_reusability - ResponseError("unknown ... ERROR tests/test_agenda.py::test_agenda_scatter_requires_over_parameter - Res... ERROR tests/test_agenda.py::test_agenda_scatter_with_task_by_name - ResponseE... ERROR tests/test_agenda.py::test_agenda_scatter_with_non_positive_over_parameter ERROR tests/test_agenda.py::test_agenda_scatter_partial_scheduling_behavior ERROR tests/test_agenda.py::test_agenda_scatter_auto_registers_unregistered_functions ERROR tests/test_agenda.py::test_agenda_clear - ResponseError("unknown comman... ERROR tests/test_cancellation.py::test_cancel_running_task - ResponseError("u... ERROR tests/test_cancellation.py::test_cancel_running_task_state - ResponseEr... ERROR tests/test_cancellation.py::test_cancel_running_task_with_cleanup - Res... ERROR tests/test_cancellation.py::test_cancel_task_that_ignores_cancellation ERROR tests/test_cancellation.py::test_cancel_already_completed_is_noop - Res... ERROR tests/test_cancellation.py::test_cancel_publishes_state_event - Respons... ERROR tests/test_cancellation.py::test_cancel_only_affects_running_worker - R... ERROR tests/test_cancellation.py::test_cancel_running_task_with_zero_execution_ttl ERROR tests/test_cancellation.py::test_cancelled_task_with_retry_does_not_retry ERROR tests/test_cancellation.py::test_cancelled_perpetual_task_does_not_perpetuate ERROR tests/test_cancellation.py::test_cancel_running_task_with_timeout - Res... ERROR tests/test_cancellation.py::test_get_result_raises_execution_cancelled_for_cancelled_task ERROR tests/test_dependencies_advanced.py::test_sync_function_dependency - Re... ERROR tests/test_dependencies_advanced.py::test_sync_context_manager_dependency ERROR tests/test_dependencies_advanced.py::test_mixed_sync_and_async_dependencies ERROR tests/test_dependencies_advanced.py::test_nested_sync_dependencies - Re... ERROR tests/test_dependencies_advanced.py::test_sync_dependency_with_docket_context ERROR tests/test_dependencies_advanced.py::test_sync_context_manager_cleanup_on_exception ERROR tests/test_dependencies_advanced.py::test_sync_dependency_caching - Res... ERROR tests/test_dependencies_advanced.py::test_mixed_nested_dependencies - R... ERROR tests/test_dependencies_advanced.py::test_contextvar_isolation_between_tasks ERROR tests/test_dependencies_advanced.py::test_contextvar_cleanup_after_task ERROR tests/test_dependencies_advanced.py::test_dependency_cache_isolated_between_tasks ERROR tests/test_dependencies_advanced.py::test_async_exit_stack_cleanup - Re... ERROR tests/test_dependencies_advanced.py::test_contextvar_reset_on_reentrant_call ERROR tests/test_dependencies_advanced.py::test_contextvar_not_leaked_to_caller ERROR tests/test_dependencies_core.py::test_dependencies_may_be_duplicated - ... ERROR tests/test_dependencies_core.py::test_users_can_provide_dependencies_directly ERROR tests/test_dependencies_core.py::test_user_provide_retries_are_used - R... ERROR tests/test_dependencies_core.py::test_user_can_request_a_retry_after_a_delay[Retry] ERROR tests/test_dependencies_core.py::test_user_can_request_a_retry_after_a_delay[ExponentialRetry] ERROR tests/test_dependencies_core.py::test_retry_in_is_backwards_compatible_alias_for_after ERROR tests/test_dependencies_core.py::test_user_can_request_a_retry_at_a_specific_time[Retry] ERROR tests/test_dependencies_core.py::test_user_can_request_a_retry_at_a_specific_time[ExponentialRetry] ERROR tests/test_dependencies_core.py::test_user_can_request_a_retry_at_a_specific_time_in_the_past ERROR tests/test_dependencies_core.py::test_dependencies_error_for_missing_task_argument ERROR tests/test_dependencies_core.py::test_a_task_argument_cannot_ask_for_itself ERROR tests/test_dependency_uniqueness.py::test_retries_must_be_unique - Resp... ERROR tests/test_dependency_uniqueness.py::test_runtime_subclasses_must_be_unique ERROR tests/test_dependency_uniqueness.py::test_failure_handler_subclasses_must_be_unique ERROR tests/test_dependency_uniqueness.py::test_completion_handler_subclasses_must_be_unique ERROR tests/test_docket_clear.py::test_clear_empty_docket - ResponseError("un... ERROR tests/test_docket_clear.py::test_clear_with_immediate_tasks - ResponseE... ERROR tests/test_docket_clear.py::test_clear_with_scheduled_tasks - ResponseE... ERROR tests/test_docket_clear.py::test_clear_with_mixed_tasks - ResponseError... ERROR tests/test_docket_clear.py::test_clear_with_parked_tasks - ResponseErro... ERROR tests/test_docket_clear.py::test_clear_preserves_strikes - ResponseErro... ERROR tests/test_docket_clear.py::test_clear_returns_total_count - ResponseEr... ERROR tests/test_docket_clear.py::test_clear_no_redis_key_leaks - ResponseErr... ERROR tests/test_docket_clear.py::test_clear_with_execution_ttl_zero - Respon... ERROR tests/test_docket_clear.py::test_stream_not_created_on_docket_init - Re... ERROR tests/test_docket_clear.py::test_ensure_stream_and_group_is_idempotent ERROR tests/test_docket_clear.py::test_docket_without_worker_does_not_create_group ERROR tests/test_docket_clear.py::test_snapshot_handles_nogroup_with_real_redis[real] ERROR tests/test_docket_execution.py::test_docket_schedule_method_with_immediate_task ERROR tests/test_docket_execution.py::test_docket_schedule_with_stricken_task ERROR tests/test_docket_execution.py::test_get_execution_nonexistent_key - Re... ERROR tests/test_docket_execution.py::test_get_execution_for_scheduled_task ERROR tests/test_docket_execution.py::test_get_execution_for_queued_task - Re... ERROR tests/test_docket_execution.py::test_get_execution_function_not_registered ERROR tests/test_docket_execution.py::test_get_execution_with_complex_args - ... ERROR tests/test_docket_execution.py::test_get_execution_claim_check_pattern ERROR tests/test_docket_execution.py::test_get_execution_with_incomplete_data ERROR tests/test_docket_execution.py::test_get_execution_with_missing_when - ... ERROR tests/test_docket_execution.py::test_get_execution_with_unregistered_function_creates_placeholder ERROR tests/test_docket_execution.py::test_cancelled_state_creates_tombstone ERROR tests/test_docket_execution.py::test_cancelled_state_respects_ttl - Res... ERROR tests/test_docket_execution.py::test_cancelled_state_with_ttl_zero - Re... ERROR tests/test_docket_execution.py::test_get_execution_after_cancel - Respo... ERROR tests/test_docket_execution.py::test_replace_does_not_set_cancelled_state ERROR tests/test_docket_execution.py::test_cancellation_idempotent_with_tombstone ERROR tests/test_docket_keys.py::test_prefix_returns_name - ResponseError("un... ERROR tests/test_docket_keys.py::test_key_builds_correct_key - ResponseError(... ERROR tests/test_docket_keys.py::test_queue_key_uses_key_method - ResponseErr... ERROR tests/test_docket_keys.py::test_stream_key_uses_key_method - ResponseEr... ERROR tests/test_docket_keys.py::test_workers_set_uses_key_method - ResponseE... ERROR tests/test_docket_keys.py::test_known_task_key_uses_key_method - Respon... ERROR tests/test_docket_keys.py::test_parked_task_key_uses_key_method - Respo... ERROR tests/test_docket_keys.py::test_stream_id_key_uses_key_method - Respons... ERROR tests/test_docket_keys.py::test_runs_key_uses_key_method - ResponseErro... ERROR tests/test_docket_keys.py::test_cancel_channel_uses_key_method - Respon... ERROR tests/test_docket_keys.py::test_results_collection_uses_key_method - Re... ERROR tests/test_docket_keys.py::test_worker_tasks_set_uses_key_method - Resp... ERROR tests/test_docket_keys.py::test_task_workers_set_uses_key_method - Resp... ERROR tests/test_docket_keys.py::test_worker_group_name_not_prefixed - Respon... ERROR tests/test_docket_keys.py::test_docket_propagates_connection_errors_on_operation ERROR tests/test_docket_keys.py::test_is_cluster_url[redis://localhost:6379/0-False] ERROR tests/test_docket_keys.py::test_is_cluster_url[rediss://localhost:6379/0-False] ERROR tests/test_docket_keys.py::test_is_cluster_url[memory://-False] - Respo... ERROR tests/test_docket_keys.py::test_is_cluster_url[redis+cluster://localhost:6379/0-True] ERROR tests/test_docket_keys.py::test_is_cluster_url[rediss+cluster://localhost:6379/0-True] ERROR tests/test_docket_keys.py::test_is_cluster_url[redis+cluster://user:pass@localhost:6379/0-True] ERROR tests/test_docket_keys.py::test_is_cluster_url[rediss+cluster://user:pass@localhost:6379/0-True] ERROR tests/test_docket_keys.py::test_normalize_cluster_url[redis+cluster://localhost:6379/0-redis://localhost:6379/0] ERROR tests/test_docket_keys.py::test_normalize_cluster_url[rediss+cluster://localhost:6379/0-rediss://localhost:6379/0] ERROR tests/test_docket_keys.py::test_normalize_cluster_url[redis+cluster://user:pass@localhost:6379/0-redis://user:pass@localhost:6379/0] ERROR tests/test_docket_keys.py::test_normalize_cluster_url[rediss+cluster://user:pass@localhost:6379/0-rediss://user:pass@localhost:6379/0] ERROR tests/test_docket_keys.py::test_prefix_returns_hash_tagged_name_for_cluster ERROR tests/test_docket_keys.py::test_key_builds_hash_tagged_key_for_cluster ERROR tests/test_docket_keys.py::test_strikelist_prefix_returns_hash_tagged_name_for_cluster ERROR tests/test_docket_keys.py::test_strikelist_prefix_without_redis - Respo... ERROR tests/test_docket_keys.py::test_redis_connection_aenter_is_not_reentrant ERROR tests/test_docket_keys.py::test_redis_connection_cluster_client_returns_none_when_not_cluster ERROR tests/test_docket_keys.py::test_redis_connection_normalized_url_returns_original_for_non_cluster ERROR tests/test_docket_registration.py::test_standard_tasks_available_after_init ERROR tests/test_docket_registration.py::test_register_task_before_aenter - R... ERROR tests/test_docket_registration.py::test_registered_task_usable_after_aenter ERROR tests/test_docket_registration.py::test_tasks_persist_after_aexit - Res... ERROR tests/test_docket_registration.py::test_docket_reentry_preserves_tasks ERROR tests/test_docket_registration.py::test_register_collection - ResponseE... ERROR tests/test_docket_registration.py::test_register_task_with_custom_name ERROR tests/test_docket_registration.py::test_register_task_with_multiple_names ERROR tests/test_docket_registration.py::test_register_task_with_empty_names_defaults_to_function_name ERROR tests/test_docket_registration.py::test_register_task_with_none_names_defaults_to_function_name ERROR tests/test_docket_registration.py::test_schedule_task_by_alias - Respon... ERROR tests/test_docket_registration.py::test_alias_appears_in_worker_announcements ERROR tests/test_execution.py::test_compact_signature[no_args-] - ResponseErr... ERROR tests/test_execution.py::test_compact_signature[one_arg-a: str] - Respo... ERROR tests/test_execution.py::test_compact_signature[two_args-a: str, b: str] ERROR tests/test_execution.py::test_compact_signature[optional_args-a: str, b: str, c: str = 'c'] ERROR tests/test_execution.py::test_compact_signature[logged_args-a: str, b: str = 'foo'] ERROR tests/test_execution.py::test_compact_signature[dependencies-a: str, b: int = 42, ...] ERROR tests/test_execution.py::test_compact_signature[only_dependencies-...] ERROR tests/test_execution.py::test_execution_function_is_immutable - Respons... ERROR tests/test_execution.py::test_execution_args_is_immutable - ResponseErr... ERROR tests/test_execution.py::test_execution_kwargs_is_immutable - ResponseE... ERROR tests/test_execution.py::test_execution_key_is_immutable - ResponseErro... ERROR tests/test_execution.py::test_execution_from_message_without_fallback_raises_for_unknown_task ERROR tests/test_execution_state.py::test_run_state_scheduled - ResponseError... ERROR tests/test_execution_state.py::test_run_state_pending_to_running - Resp... ERROR tests/test_execution_state.py::test_run_state_completed_on_success - Re... ERROR tests/test_execution_state.py::test_run_state_failed_on_exception - Res... ERROR tests/test_execution_state.py::test_run_state_ttl_after_completion - Re... ERROR tests/test_execution_state.py::test_custom_execution_ttl - ResponseErro... ERROR tests/test_execution_state.py::test_full_lifecycle_integration - Respon... ERROR tests/test_execution_state.py::test_run_add_returns_run_instance - Resp... ERROR tests/test_execution_state.py::test_error_message_stored_on_failure - R... ERROR tests/test_execution_state.py::test_execution_sync_with_no_redis_data ERROR tests/test_execution_state.py::test_execution_sync_with_missing_state_field ERROR tests/test_execution_state.py::test_execution_sync_with_string_state_value ERROR tests/test_execution_state.py::test_mark_as_failed_without_error_message ERROR tests/test_fallback_task.py::test_default_fallback_task_logs_and_acks ERROR tests/test_fallback_task.py::test_custom_fallback_receives_original_args_kwargs ERROR tests/test_fallback_task.py::test_fallback_can_access_function_name - R... ERROR tests/test_fallback_task.py::test_fallback_dependency_injection - Respo... ERROR tests/test_fallback_task.py::test_fallback_custom_user_dependency - Res... ERROR tests/test_fallback_task.py::test_fallback_return_completes_task - Resp... ERROR tests/test_fallback_task.py::test_fallback_exception_triggers_retry - R... ERROR tests/test_fallback_task.py::test_execution_function_name_matches_for_known_tasks ERROR tests/test_handler_semantics.py::test_retrying_task_is_not_marked_as_failed ERROR tests/test_handler_semantics.py::test_exhausted_retries_marks_task_as_failed ERROR tests/test_handler_semantics.py::test_failed_perpetual_task_is_rescheduled ERROR tests/test_handler_semantics.py::test_retry_and_perpetual_work_together ERROR tests/test_handler_semantics.py::test_perpetual_after_is_respected_on_failure ERROR tests/test_key_leak_protection.py::test_leak_detection_catches_keys_without_ttl ERROR tests/test_key_leak_protection.py::test_permanent_keys_are_exempt - Res... ERROR tests/test_key_leak_protection.py::test_exemption_mechanism - ResponseE... ERROR tests/test_key_leak_protection.py::test_multiple_exemptions - ResponseE... ERROR tests/test_key_leak_protection.py::test_worker_task_sets_are_exempt - R... ERROR tests/test_key_leak_protection.py::test_queue_is_cleaned_up - ResponseE... ERROR tests/test_memory_backend.py::test_docket_memory_backend - ResponseErro... ERROR tests/test_memory_backend.py::test_multiple_memory_dockets - ResponseEr... ERROR tests/test_memory_backend.py::test_memory_backend_reuses_server - Respo... ERROR tests/test_memory_backend.py::test_different_memory_urls_are_isolated ERROR tests/test_memory_backend.py::test_memory_url_with_path_isolation - Res... ERROR tests/test_perpetual_race.py::test_stale_perpetual_on_complete_overwrites_correct_successor[execution_ttl=0] ERROR tests/test_perpetual_race.py::test_stale_perpetual_on_complete_overwrites_correct_successor[execution_ttl=60s] ERROR tests/test_perpetual_race.py::test_is_superseded_after_replace[execution_ttl=0] ERROR tests/test_perpetual_race.py::test_is_superseded_after_replace[execution_ttl=60s] ERROR tests/test_perpetual_race.py::test_superseded_message_skipped_before_execution[execution_ttl=0] ERROR tests/test_perpetual_race.py::test_superseded_message_skipped_before_execution[execution_ttl=60s] ERROR tests/test_perpetual_race.py::test_old_message_without_generation_runs_normally[execution_ttl=0] ERROR tests/test_perpetual_race.py::test_old_message_without_generation_runs_normally[execution_ttl=60s] ERROR tests/test_perpetual_race.py::test_new_task_moved_by_old_scheduler_runs_normally[execution_ttl=0] ERROR tests/test_perpetual_race.py::test_new_task_moved_by_old_scheduler_runs_normally[execution_ttl=60s] ERROR tests/test_perpetual_race.py::test_replace_skips_stale_stream_message[execution_ttl=0] ERROR tests/test_perpetual_race.py::test_replace_skips_stale_stream_message[execution_ttl=60s] ERROR tests/test_perpetual_race.py::test_perpetual_successor_survives_mark_as_terminal[execution_ttl=0] ERROR tests/test_perpetual_race.py::test_perpetual_successor_survives_mark_as_terminal[execution_ttl=60s] ERROR tests/test_perpetual_state.py::test_perpetual_task_with_ttl_zero - Resp... ERROR tests/test_perpetual_state.py::test_perpetual_task_state_isolation - Re... ERROR tests/test_perpetual_state.py::test_perpetual_task_no_state_accumulation_with_ttl_zero ERROR tests/test_perpetual_state.py::test_rapid_perpetual_tasks_no_conflicts ERROR tests/test_perpetual_state.py::test_perpetual_same_key_no_state_accumulation ERROR tests/test_perpetual_state.py::test_perpetual_task_state_transitions_with_same_key ERROR tests/test_perpetual_state.py::test_perpetual_publishes_completed_event[ttl_zero] ERROR tests/test_perpetual_state.py::test_perpetual_publishes_completed_event[default_ttl] ERROR tests/test_progress_basics.py::test_progress_create - ResponseError("un... ERROR tests/test_progress_basics.py::test_progress_set_total - ResponseError(... ERROR tests/test_progress_basics.py::test_progress_set_total_invalid - Respon... ERROR tests/test_progress_basics.py::test_progress_increment_invalid - Respon... ERROR tests/test_progress_basics.py::test_progress_increment - ResponseError(... ERROR tests/test_progress_basics.py::test_progress_set_message - ResponseErro... ERROR tests/test_progress_basics.py::test_progress_dependency_injection - Res... ERROR tests/test_progress_basics.py::test_progress_deleted_on_completion - Re... ERROR tests/test_progress_basics.py::test_progress_with_multiple_increments ERROR tests/test_progress_basics.py::test_progress_without_total - ResponseEr... ERROR tests/test_progress_basics.py::test_concurrent_progress_updates - Respo... ERROR tests/test_progress_pubsub.py::test_progress_publish_events - ResponseE... ERROR tests/test_progress_pubsub.py::test_state_publish_events - ResponseErro... ERROR tests/test_progress_pubsub.py::test_run_subscribe_both_state_and_progress ERROR tests/test_progress_pubsub.py::test_completed_state_publishes_event - R... ERROR tests/test_progress_pubsub.py::test_failed_state_publishes_event_with_error ERROR tests/test_progress_pubsub.py::test_end_to_end_progress_monitoring_with_worker ERROR tests/test_progress_pubsub.py::test_end_to_end_failed_task_monitoring ERROR tests/test_progress_pubsub.py::test_subscribing_to_completed_execution ERROR tests/test_redelivery.py::test_redelivery_from_abandoned_worker - Respo... ERROR tests/test_redelivery.py::test_long_running_task_not_duplicated - Respo... ERROR tests/test_redelivery.py::test_retry_with_long_running_task - ResponseE... ERROR tests/test_redelivery.py::test_multiple_workers_no_duplicate_execution ERROR tests/test_redelivery.py::test_perpetual_task_with_lease_renewal - Resp... ERROR tests/test_redelivery.py::test_user_timeout_longer_than_redelivery - Re... ERROR tests/test_redelivery.py::test_workers_with_same_redelivery_timeout - R... ERROR tests/test_redelivery.py::test_worker_joining_doesnt_steal_renewed_lease ERROR tests/test_redelivery.py::test_lease_renewal_recovers_from_redis_error ERROR tests/test_redelivery.py::test_lease_renewal_exits_cleanly_with_no_active_tasks ERROR tests/test_results_retrieval.py::test_get_result_waits_for_completion ERROR tests/test_results_retrieval.py::test_get_result_timeout - ResponseErro... ERROR tests/test_results_retrieval.py::test_multiple_concurrent_get_result_calls ERROR tests/test_results_retrieval.py::test_get_result_on_already_completed_task ERROR tests/test_results_retrieval.py::test_get_result_on_already_failed_task ERROR tests/test_results_retrieval.py::test_get_result_with_expired_timeout ERROR tests/test_results_retrieval.py::test_get_result_failed_task_without_result_key ERROR tests/test_results_retrieval.py::test_get_result_with_malformed_result_data ERROR tests/test_results_retrieval.py::test_get_result_failed_task_with_missing_exception_data ERROR tests/test_results_retrieval.py::test_get_result_with_timeout_timedelta ERROR tests/test_results_retrieval.py::test_get_result_with_deadline_datetime ERROR tests/test_results_retrieval.py::test_get_result_with_both_timeout_and_deadline_raises ERROR tests/test_results_retrieval.py::test_get_result_timeout_on_pending_task ERROR tests/test_results_storage.py::test_result_storage_for_int_return - Res... ERROR tests/test_results_storage.py::test_result_storage_for_str_return - Res... ERROR tests/test_results_storage.py::test_result_storage_for_dict_return - Re... ERROR tests/test_results_storage.py::test_result_storage_for_object_return - ... ERROR tests/test_results_storage.py::test_no_storage_for_none_annotated_task ERROR tests/test_results_storage.py::test_no_storage_for_runtime_none - Respo... ERROR tests/test_results_storage.py::test_exception_storage_and_retrieval - R... ERROR tests/test_results_storage.py::test_result_key_stored_in_execution_record ERROR tests/test_results_storage.py::test_result_storage_uses_provided_or_default ERROR tests/test_results_storage.py::test_result_storage_uses_custom_when_provided ERROR tests/test_results_storage.py::test_result_storage_custom_without_setup ERROR tests/test_results_storage.py::test_cluster_store_get_nonexistent - Res... ERROR tests/test_results_storage.py::test_cluster_store_ttl - ResponseError("... ERROR tests/test_results_storage.py::test_cluster_store_delete - ResponseErro... ERROR tests/test_results_storage.py::test_cluster_store_get_many - ResponseEr... ERROR tests/test_results_storage.py::test_cluster_store_ttl_many - ResponseEr... ERROR tests/test_results_storage.py::test_cluster_store_put_many - ResponseEr... ERROR tests/test_results_storage.py::test_cluster_store_delete_many - Respons... ERROR tests/test_strikelist.py::test_context_manager - ResponseError("unknown... ERROR tests/test_strikelist.py::test_explicit_aenter_aexit - ResponseError("u... ERROR tests/test_strikelist.py::test_aenter_is_not_reentrant - ResponseError(... ERROR tests/test_strikelist.py::test_context_manager_reuse - ResponseError("u... ERROR tests/test_strikelist.py::test_prefix_property - ResponseError("unknown... ERROR tests/test_strikelist.py::test_strike_key_property - ResponseError("unk... ERROR tests/test_strikelist.py::test_local_only_mode - ResponseError("unknown... ERROR tests/test_strikelist.py::test_memory_url_without_fakeredis - ResponseE... ERROR tests/test_strikelist.py::test_send_instruction_requires_connection - R... ERROR tests/test_strikelist.py::test_strike_method - ResponseError("unknown c... ERROR tests/test_strikelist.py::test_restore_method - ResponseError("unknown ... ERROR tests/test_strikelist.py::test_receives_strikes - ResponseError("unknow... ERROR tests/test_strikelist.py::test_receives_restore - ResponseError("unknow... ERROR tests/test_strikelist.py::test_receives_multiple_strikes - ResponseErro... ERROR tests/test_strikelist.py::test_new_instance_receives_existing_strikes ERROR tests/test_strikelist.py::test_all_operators - ResponseError("unknown c... ERROR tests/test_strikelist.py::test_empty_dict_not_stricken - ResponseError(... ERROR tests/test_strikelist.py::test_type_mismatch_handled_gracefully - Respo... ERROR tests/test_strikelist.py::test_invariant_conditions_only_default_after_remove ERROR tests/test_strikelist.py::test_invariant_no_empty_dicts_in_task_strikes_after_restore ERROR tests/test_strikelist.py::test_invariant_no_empty_dicts_in_parameter_strikes_after_restore ERROR tests/test_strikelist.py::test_invariant_multiple_strike_restore_cycles ERROR tests/test_strikelist.py::test_invariant_strikelist_state_persists_through_context ERROR tests/test_striking.py::test_all_dockets_see_all_strikes - ResponseErro... ERROR tests/test_striking.py::test_striking_is_idempotent - ResponseError("un... ERROR tests/test_striking.py::test_restoring_is_idempotent - ResponseError("u... ERROR tests/test_striking.py::test_strike_operators[==-42-42-True] - Response... ERROR tests/test_striking.py::test_strike_operators[==-42-43-False] - Respons... ERROR tests/test_striking.py::test_strike_operators[!=-42-43-True] - Response... ERROR tests/test_striking.py::test_strike_operators[!=-42-42-False] - Respons... ERROR tests/test_striking.py::test_strike_operators[>-42-43-True] - ResponseE... ERROR tests/test_striking.py::test_strike_operators[>-42-42-False] - Response... ERROR tests/test_striking.py::test_strike_operators[>-42-41-False] - Response... ERROR tests/test_striking.py::test_strike_operators[>=-42-43-True] - Response... ERROR tests/test_striking.py::test_strike_operators[>=-42-42-True] - Response... ERROR tests/test_striking.py::test_strike_operators[>=-42-41-False] - Respons... ERROR tests/test_striking.py::test_strike_operators[<-42-41-True] - ResponseE... ERROR tests/test_striking.py::test_strike_operators[<-42-42-False] - Response... ERROR tests/test_striking.py::test_strike_operators[<-42-43-False] - Response... ERROR tests/test_striking.py::test_strike_operators[<=-42-41-True] - Response... ERROR tests/test_striking.py::test_strike_operators[<=-42-42-True] - Response... ERROR tests/test_striking.py::test_strike_operators[<=-42-43-False] - Respons... ERROR tests/test_striking.py::test_strike_operators[between-value16-30-True] ERROR tests/test_striking.py::test_strike_operators[between-value17-10-True] ERROR tests/test_striking.py::test_strike_operators[between-value18-50-True] ERROR tests/test_striking.py::test_strike_operators[between-value19-5-False] ERROR tests/test_striking.py::test_strike_operators[between-value20-55-False] ERROR tests/test_striking.py::test_strike_operators[between-not a tuple-30-False] ERROR tests/test_striking.py::test_strike_operators[between-value22-30-False] ERROR tests/test_striking.py::test_strike_incomparable_values[>-42-string] - ... ERROR tests/test_striking.py::test_strike_incomparable_values[<-string-42] - ... ERROR tests/test_striking.py::test_strike_incomparable_values[>=-None-42] - R... ERROR tests/test_striking.py::test_strike_incomparable_values[<=-42-None] - R... ERROR tests/test_striking.py::test_strike_incomparable_values[>-value4-42] - ... ERROR tests/test_striking.py::test_strike_incomparable_values[<-42-test_value5] ERROR tests/test_striking.py::test_strike_incomparable_values[>=-value6-42] ERROR tests/test_striking.py::test_strike_incomparable_values[<=-42-test_value7] ERROR tests/test_striking.py::test_struck_automatic_perpetual_does_not_start ERROR tests/test_striking.py::test_restored_automatic_perpetual_does_start - ... ERROR tests/test_striking.py::test_strikes_loaded_event_is_set_after_initial_load ERROR tests/test_testing.py::test_assert_task_scheduled_finds_task_by_function_only ERROR tests/test_testing.py::test_assert_task_scheduled_finds_task_by_function_and_args ERROR tests/test_testing.py::test_assert_task_scheduled_finds_task_by_function_and_kwargs ERROR tests/test_testing.py::test_assert_task_scheduled_finds_task_by_function_args_and_kwargs ERROR tests/test_testing.py::test_assert_task_scheduled_finds_task_by_key - R... ERROR tests/test_testing.py::test_assert_task_scheduled_works_with_function_name ERROR tests/test_testing.py::test_assert_task_scheduled_succeeds_with_multiple_matching_tasks ERROR tests/test_testing.py::test_assert_task_scheduled_fails_when_task_not_found ERROR tests/test_testing.py::test_assert_task_scheduled_fails_when_args_dont_match ERROR tests/test_testing.py::test_assert_task_scheduled_fails_when_kwargs_dont_match ERROR tests/test_testing.py::test_assert_task_scheduled_finds_scheduled_future_task ERROR tests/test_testing.py::test_assert_task_not_scheduled_succeeds_when_no_task ERROR tests/test_testing.py::test_assert_task_not_scheduled_succeeds_when_different_task ERROR tests/test_testing.py::test_assert_task_not_scheduled_fails_when_task_exists ERROR tests/test_testing.py::test_assert_task_not_scheduled_with_specific_args ERROR tests/test_testing.py::test_assert_task_count_all_tasks - ResponseError... ERROR tests/test_testing.py::test_assert_task_count_for_specific_function - R... ERROR tests/test_testing.py::test_assert_task_count_zero - ResponseError("unk... ERROR tests/test_testing.py::test_assert_task_count_fails_with_wrong_count - ... ERROR tests/test_testing.py::test_assert_task_count_with_function_name - Resp... ERROR tests/test_testing.py::test_assert_no_tasks_succeeds_when_empty - Respo... ERROR tests/test_testing.py::test_assert_no_tasks_fails_when_tasks_present - ... ERROR tests/test_testing.py::test_assert_no_tasks_after_tasks_complete - Resp... ERROR tests/test_testing.py::test_assert_task_scheduled_partial_kwargs_match ERROR tests/test_testing.py::test_assert_task_count_includes_future_and_immediate_tasks ERROR tests/test_testing.py::test_assert_task_scheduled_fails_when_key_doesnt_match ERROR tests/test_testing.py::test_assert_task_scheduled_fails_on_empty_docket ERROR tests/test_uuid7.py::test_uuid7_returns_uuid_object[vendored] - Respons... ERROR tests/test_uuid7.py::test_uuid7_returns_uuid_object[docket] - ResponseE... ERROR tests/test_uuid7.py::test_uuid7_returns_uuid_object[stdlib] - ResponseE... ERROR tests/test_uuid7.py::test_uuid7_is_version_7[vendored] - ResponseError(... ERROR tests/test_uuid7.py::test_uuid7_is_version_7[docket] - ResponseError("u... ERROR tests/test_uuid7.py::test_uuid7_is_version_7[stdlib] - ResponseError("u... ERROR tests/test_uuid7.py::test_uuid7_is_variant_rfc4122[vendored] - Response... ERROR tests/test_uuid7.py::test_uuid7_is_variant_rfc4122[docket] - ResponseEr... ERROR tests/test_uuid7.py::test_uuid7_is_variant_rfc4122[stdlib] - ResponseEr... ERROR tests/test_uuid7.py::test_uuid7_chronological_ordering[vendored] - Resp... ERROR tests/test_uuid7.py::test_uuid7_chronological_ordering[docket] - Respon... ERROR tests/test_uuid7.py::test_uuid7_chronological_ordering[stdlib] - Respon... ERROR tests/test_uuid7.py::test_uuid7_monotonicity_rapid_generation[vendored] ERROR tests/test_uuid7.py::test_uuid7_monotonicity_rapid_generation[docket] ERROR tests/test_uuid7.py::test_uuid7_monotonicity_rapid_generation[stdlib] ERROR tests/test_uuid7.py::test_uuid7_uniqueness[vendored] - ResponseError("u... ERROR tests/test_uuid7.py::test_uuid7_uniqueness[docket] - ResponseError("unk... ERROR tests/test_uuid7.py::test_uuid7_uniqueness[stdlib] - ResponseError("unk... ERROR tests/test_uuid7.py::test_uuid7_as_str[vendored] - ResponseError("unkno... ERROR tests/test_uuid7.py::test_uuid7_as_str[docket] - ResponseError("unknown... ERROR tests/test_uuid7.py::test_uuid7_as_str[stdlib] - ResponseError("unknown... ERROR tests/test_uuid7.py::test_uuid7_as_int[vendored] - ResponseError("unkno... ERROR tests/test_uuid7.py::test_uuid7_as_int[docket] - ResponseError("unknown... ERROR tests/test_uuid7.py::test_uuid7_as_int[stdlib] - ResponseError("unknown... ERROR tests/test_uuid7.py::test_uuid7_as_hex[vendored] - ResponseError("unkno... ERROR tests/test_uuid7.py::test_uuid7_as_hex[docket] - ResponseError("unknown... ERROR tests/test_uuid7.py::test_uuid7_as_hex[stdlib] - ResponseError("unknown... ERROR tests/test_uuid7.py::test_uuid7_as_bytes[vendored] - ResponseError("unk... ERROR tests/test_uuid7.py::test_uuid7_as_bytes[docket] - ResponseError("unkno... ERROR tests/test_uuid7.py::test_uuid7_as_bytes[stdlib] - ResponseError("unkno... ERROR tests/worker/test_bootstrap.py::test_redis_key_cleanup_successful_task ERROR tests/worker/test_bootstrap.py::test_redis_key_cleanup_failed_task - Re... ERROR tests/worker/test_bootstrap.py::test_redis_key_cleanup_cancelled_task ERROR tests/worker/test_bootstrap.py::test_verify_remaining_keys_have_ttl_detects_leaks ERROR tests/worker/test_bootstrap.py::test_consumer_group_created_on_first_worker_read ERROR tests/worker/test_bootstrap.py::test_multiple_workers_racing_to_create_group ERROR tests/worker/test_bootstrap.py::test_worker_handles_nogroup_error_gracefully ERROR tests/worker/test_bootstrap.py::test_worker_handles_nogroup_in_xreadgroup ERROR tests/worker/test_core.py::test_worker_acknowledges_messages - Response... ERROR tests/worker/test_core.py::test_two_workers_split_work - ResponseError(... ERROR tests/worker/test_core.py::test_worker_reconnects_when_connection_is_lost ERROR tests/worker/test_core.py::test_worker_respects_concurrency_limit - Res... ERROR tests/worker/test_core.py::test_worker_handles_unregistered_task_execution_on_initial_delivery ERROR tests/worker/test_core.py::test_worker_handles_unregistered_task_execution_on_redelivery ERROR tests/worker/test_core.py::test_worker_announcements - ResponseError("u... ERROR tests/worker/test_core.py::test_task_announcements - ResponseError("unk... ERROR tests/worker/test_core.py::test_worker_recovers_from_redis_errors[error0] ERROR tests/worker/test_core.py::test_worker_recovers_from_redis_errors[error1] ERROR tests/worker/test_core.py::test_worker_can_be_told_to_skip_automatic_tasks ERROR tests/worker/test_core.py::test_worker_concurrency_cleanup_without_dependencies ERROR tests/worker/test_core.py::test_worker_concurrency_no_limit_with_custom_docket ERROR tests/worker/test_core.py::test_worker_exception_before_dependencies - ... ERROR tests/worker/test_invariants.py::test_invariant_tasks_by_key_empty_after_completion ERROR tests/worker/test_invariants.py::test_invariant_tasks_by_key_no_growth_over_batches ERROR tests/worker/test_invariants.py::test_invariant_execution_counts_empty_after_completion ERROR tests/worker/test_invariants.py::test_invariant_execution_counts_cleared_after_run_at_most ERROR tests/worker/test_invariants.py::test_invariant_worker_attributes_deleted_after_exit ERROR tests/worker/test_invariants.py::test_invariant_cleanup_after_task_exceptions ERROR tests/worker/test_invariants.py::test_invariant_cleanup_with_varied_tasks ERROR tests/worker/test_invariants.py::test_invariant_shared_context_reset_after_worker_exit ERROR tests/worker/test_lifecycle.py::test_run_forever_cancels_promptly_with_future_tasks ERROR tests/worker/test_lifecycle.py::test_run_until_finished_exits_promptly_with_future_tasks ERROR tests/worker/test_lifecycle.py::test_run_at_most_cancels_promptly_with_future_tasks ERROR tests/worker/test_lifecycle.py::test_worker_aexit_completes_on_immediate_cancellation ERROR tests/worker/test_lifecycle.py::test_worker_done_set_after_early_cancellation ERROR tests/worker/test_lifecycle.py::test_worker_rapid_start_cancel_cycles ERROR tests/worker/test_lifecycle.py::test_worker_cancellation_during_setup_before_scheduler_created ERROR tests/worker/test_lifecycle.py::test_cancellation_listener_handles_connection_error ERROR tests/worker/test_lifecycle.py::test_cancellation_listener_handles_generic_exception ERROR tests/worker/test_lifecycle.py::test_worker_drains_active_tasks_on_shutdown ERROR tests/worker/test_scheduling.py::test_perpetual_tasks_are_scheduled_close_to_target_time ERROR tests/worker/test_scheduling.py::test_worker_can_exit_from_perpetual_tasks_that_queue_further_tasks ERROR tests/worker/test_scheduling.py::test_worker_can_exit_from_long_horizon_perpetual_tasks ERROR tests/worker/test_scheduling.py::test_formatting_durations - ResponseEr... ERROR tests/worker/test_scheduling.py::test_worker_timeout_exceeds_redelivery_timeout ERROR tests/worker/test_scheduling.py::test_replacement_race_condition_stream_tasks ERROR tests/worker/test_scheduling.py::test_replace_task_in_queue_before_stream ERROR tests/worker/test_scheduling.py::test_rapid_replace_operations - Respon... ERROR tests/worker/test_scheduling.py::test_duplicate_execution_race_condition_non_perpetual_task[default_ttl] ERROR tests/worker/test_scheduling.py::test_duplicate_execution_race_condition_non_perpetual_task[zero_ttl] ERROR tests/worker/test_scheduling.py::test_wrongtype_error_with_legacy_known_task_key ERROR tests/worker/test_scheduling.py::test_replace_task_with_legacy_known_key ERROR tests/worker/test_scheduling.py::test_worker_run_classmethod_memory_backend ERROR tests/worker/test_ttl_zero.py::test_task_executes_with_ttl_zero - Respo... ERROR tests/worker/test_ttl_zero.py::test_state_record_expires_immediately_with_ttl_zero ERROR tests/worker/test_ttl_zero.py::test_result_storage_with_ttl_zero - Resp... ERROR tests/worker/test_ttl_zero.py::test_failed_task_with_ttl_zero - Respons... ERROR tests/worker/test_ttl_zero.py::test_mixed_ttl_workload - ResponseError(... ================ 69 skipped, 2 deselected, 617 errors in 9.05s ================= error: Bad exit status from /var/tmp/rpm-tmp.IctBOX (%check) RPM build errors: Bad exit status from /var/tmp/rpm-tmp.IctBOX (%check) Finish: rpmbuild python-pydocket-0.17.9-1.fc45.src.rpm Finish: build phase for python-pydocket-0.17.9-1.fc45.src.rpm INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-rawhide-x86_64-1772505701.061359/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-pydocket-0.17.9-1.fc45.src.rpm) Config(fedora-rawhide-x86_64) 0 minutes 29 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 53c602ef9a7d4dc5adf37c242491f47b -D /var/lib/mock/fedora-rawhide-x86_64-1772505701.061359/root -a -u mockbuild --capability=cap_ipc_lock --capability=cap_ipc_lock --bind=/tmp/mock-resolv.2izg6xwk:/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 x86_64 /builddir/build/originals/python-pydocket.spec' Copr build error: Build failed