Warning: Permanently added '34.224.67.149' (ED25519) to the list of known hosts. Running (timeout=18000): unbuffer mock --spec /var/lib/copr-rpmbuild/workspace/workdir-ccm2w1cz/btrfs-backup-ng/btrfs-backup-ng.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-ccm2w1cz/btrfs-backup-ng --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1768072122.867344 -r /var/lib/copr-rpmbuild/results/configs/child.cfg INFO: mock.py version 6.6 starting (python version = 3.13.7, NVR = mock-6.6-1.fc42), args: /usr/libexec/mock/mock --spec /var/lib/copr-rpmbuild/workspace/workdir-ccm2w1cz/btrfs-backup-ng/btrfs-backup-ng.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-ccm2w1cz/btrfs-backup-ng --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1768072122.867344 -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-ccm2w1cz/btrfs-backup-ng/btrfs-backup-ng.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-1768072122.867344/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-dd99d50e-a680-4b2d-81be-6eb5e170ac92 INFO: Checking that 02c76afa41077e736d25c80652ede30af7e03da9557eeb6ea0fa3c47cefe5550 image matches host's architecture INFO: Copy content of container 02c76afa41077e736d25c80652ede30af7e03da9557eeb6ea0fa3c47cefe5550 to /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1768072122.867344/root INFO: mounting 02c76afa41077e736d25c80652ede30af7e03da9557eeb6ea0fa3c47cefe5550 with podman image mount INFO: image 02c76afa41077e736d25c80652ede30af7e03da9557eeb6ea0fa3c47cefe5550 as /var/lib/containers/storage/overlay/30a0f531c9000cc0668417ff588b156b2c1ceca863effd5d92f7241f1533cbcb/merged INFO: umounting image 02c76afa41077e736d25c80652ede30af7e03da9557eeb6ea0fa3c47cefe5550 (/var/lib/containers/storage/overlay/30a0f531c9000cc0668417ff588b156b2c1ceca863effd5d92f7241f1533cbcb/merged) with podman image umount INFO: Removing image mock-bootstrap-dd99d50e-a680-4b2d-81be-6eb5e170ac92 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-1768072122.867344/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-1.fc44.x86_64 rpm-sequoia-1.10.0-1.fc44.x86_64 dnf5-5.3.0.0-4.fc44.x86_64 dnf5-plugins-5.3.0.0-4.fc44.x86_64 Start: installing minimal buildroot with dnf5 Updating and loading repositories: Copr repository 100% | 13.6 KiB/s | 3.5 KiB | 00m00s fedora 100% | 38.5 MiB/s | 21.7 MiB | 00m01s Repositories loaded. Package Arch Version Repository Size Installing group/module packages: bash x86_64 0:5.3.9-1.fc44 fedora 8.4 MiB bzip2 x86_64 0:1.0.8-21.fc43 fedora 95.3 KiB coreutils x86_64 0:9.9-1.fc44 fedora 5.4 MiB cpio x86_64 0:2.15-6.fc43 fedora 1.1 MiB diffutils x86_64 0:3.12-3.fc43 fedora 1.6 MiB fedora-release-common noarch 0:44-0.10 fedora 20.6 KiB findutils x86_64 1:4.10.0-6.fc43 fedora 1.8 MiB gawk x86_64 0:5.3.2-2.fc43 fedora 1.8 MiB glibc-minimal-langpack x86_64 0:2.42.9000-17.fc44 fedora 0.0 B grep x86_64 0:3.12-2.fc43 fedora 1.0 MiB gzip x86_64 0:1.14-1.fc44 fedora 397.8 KiB info x86_64 0:7.2-7.fc44 fedora 357.9 KiB patch x86_64 0:2.8-3.fc44 fedora 226.6 KiB redhat-rpm-config noarch 0:343-19.fc44 fedora 183.6 KiB rpm-build x86_64 0:6.0.1-1.fc44 fedora 287.5 KiB sed x86_64 0:4.9-6.fc44 fedora 857.3 KiB shadow-utils x86_64 2:4.18.0-7.fc44 fedora 3.9 MiB tar x86_64 2:1.35-6.fc43 fedora 2.9 MiB unzip x86_64 0:6.0-68.fc44 fedora 390.3 KiB util-linux x86_64 0:2.41.3-8.fc44 fedora 3.5 MiB which x86_64 0:2.23-3.fc43 fedora 83.5 KiB xz x86_64 1:5.8.2-1.fc44 fedora 1.3 MiB Installing dependencies: R-srpm-macros noarch 0:1.3.3-1.fc44 fedora 3.4 KiB add-determinism x86_64 0:0.7.2-2.fc44 fedora 2.3 MiB alternatives x86_64 0:1.33-3.fc44 fedora 62.2 KiB ansible-srpm-macros noarch 0:1-18.1.fc43 fedora 35.7 KiB audit-libs x86_64 0:4.1.2-2.fc44 fedora 378.8 KiB binutils x86_64 0:2.45.50-9.fc44 fedora 27.0 MiB build-reproducibility-srpm-macros noarch 0:0.7.2-2.fc44 fedora 1.2 KiB bzip2-libs x86_64 0:1.0.8-21.fc43 fedora 80.6 KiB ca-certificates noarch 0:2025.2.80_v9.0.304-2.fc44 fedora 2.7 MiB cmake-srpm-macros noarch 0:3.31.10-3.fc44 fedora 524.0 B coreutils-common x86_64 0:9.9-1.fc44 fedora 11.2 MiB crypto-policies noarch 0:20251128-1.git19878fe.fc44 fedora 132.6 KiB curl x86_64 0:8.18.0-1.fc44 fedora 480.0 KiB cyrus-sasl-lib x86_64 0:2.1.28-33.fc44 fedora 2.3 MiB debugedit x86_64 0:5.2-3.fc44 fedora 214.0 KiB dwz x86_64 0:0.16-2.fc43 fedora 287.1 KiB ed x86_64 0:1.22.4-1.fc44 fedora 149.2 KiB efi-srpm-macros noarch 0:6-5.fc44 fedora 40.2 KiB elfutils x86_64 0:0.194-2.fc44 fedora 2.9 MiB elfutils-debuginfod-client x86_64 0:0.194-2.fc44 fedora 84.0 KiB elfutils-default-yama-scope noarch 0:0.194-2.fc44 fedora 1.8 KiB elfutils-libelf x86_64 0:0.194-2.fc44 fedora 1.1 MiB elfutils-libs x86_64 0:0.194-2.fc44 fedora 687.5 KiB fedora-gpg-keys noarch 0:44-0.1 fedora 131.2 KiB fedora-release noarch 0:44-0.10 fedora 0.0 B fedora-release-identity-basic noarch 0:44-0.10 fedora 664.0 B fedora-repos noarch 0:44-0.1 fedora 4.9 KiB fedora-repos-rawhide noarch 0:44-0.1 fedora 2.2 KiB file x86_64 0:5.46-8.fc44 fedora 100.2 KiB file-libs x86_64 0:5.46-8.fc44 fedora 11.9 MiB filesystem x86_64 0:3.18-50.fc43 fedora 112.0 B filesystem-srpm-macros noarch 0:3.18-50.fc43 fedora 38.2 KiB fonts-srpm-macros noarch 1:5.0.0-1.fc44 fedora 55.8 KiB forge-srpm-macros noarch 0:0.4.0-3.fc43 fedora 38.9 KiB fpc-srpm-macros noarch 0:1.3-15.fc43 fedora 144.0 B gap-srpm-macros noarch 0:2-1.fc44 fedora 2.1 KiB gdb-minimal x86_64 0:17.1-1.fc44 fedora 14.3 MiB gdbm-libs x86_64 1:1.23-10.fc43 fedora 129.9 KiB ghc-srpm-macros noarch 0:1.9.2-3.fc43 fedora 779.0 B glibc x86_64 0:2.42.9000-17.fc44 fedora 6.8 MiB glibc-common x86_64 0:2.42.9000-17.fc44 fedora 1.0 MiB glibc-gconv-extra x86_64 0:2.42.9000-17.fc44 fedora 7.2 MiB gmp x86_64 1:6.3.0-4.fc44 fedora 815.3 KiB gnat-srpm-macros noarch 0:7-1.fc44 fedora 1.0 KiB gnulib-l10n noarch 0:20241231-1.fc44 fedora 655.0 KiB gnupg2 x86_64 0:2.4.9-1.fc44 fedora 6.5 MiB gnupg2-dirmngr x86_64 0:2.4.9-1.fc44 fedora 618.0 KiB gnupg2-gpg-agent x86_64 0:2.4.9-1.fc44 fedora 670.7 KiB gnupg2-gpgconf x86_64 0:2.4.9-1.fc44 fedora 249.7 KiB gnupg2-keyboxd x86_64 0:2.4.9-1.fc44 fedora 201.2 KiB gnupg2-verify x86_64 0:2.4.9-1.fc44 fedora 348.3 KiB gnutls x86_64 0:3.8.11-6.fc44 fedora 3.6 MiB go-srpm-macros noarch 0:3.8.0-1.fc44 fedora 61.9 KiB gpgverify noarch 0:2.2-3.fc43 fedora 8.7 KiB ima-evm-utils-libs x86_64 0:1.6.2-7.fc44 fedora 60.7 KiB jansson x86_64 0:2.14-3.fc43 fedora 89.1 KiB java-srpm-macros noarch 0:1-7.fc43 fedora 870.0 B json-c x86_64 0:0.18-7.fc43 fedora 82.7 KiB kernel-srpm-macros noarch 0:1.0-27.fc43 fedora 1.9 KiB keyutils-libs x86_64 0:1.6.3-6.fc43 fedora 54.3 KiB krb5-libs x86_64 0:1.21.3-11.fc44 fedora 2.3 MiB libacl x86_64 0:2.3.2-4.fc43 fedora 35.9 KiB libarchive x86_64 0:3.8.4-1.fc44 fedora 955.3 KiB libassuan x86_64 0:2.5.7-4.fc43 fedora 163.8 KiB libatomic x86_64 0:16.0.0-0.4.fc44 fedora 45.2 KiB libattr x86_64 0:2.5.2-6.fc43 fedora 24.4 KiB libblkid x86_64 0:2.41.3-8.fc44 fedora 262.3 KiB libbrotli x86_64 0:1.2.0-1.fc44 fedora 865.4 KiB libcap x86_64 0:2.77-1.fc44 fedora 209.1 KiB libcap-ng x86_64 0:0.8.5-8.fc44 fedora 68.9 KiB libcom_err x86_64 0:1.47.3-3.fc44 fedora 63.1 KiB libcurl x86_64 0:8.18.0-1.fc44 fedora 1.0 MiB libeconf x86_64 0:0.7.9-2.fc43 fedora 64.9 KiB libevent x86_64 0:2.1.12-16.fc43 fedora 883.1 KiB libfdisk x86_64 0:2.41.3-8.fc44 fedora 380.3 KiB libffi x86_64 0:3.5.2-1.fc44 fedora 83.8 KiB libfsverity x86_64 0:1.6-3.fc43 fedora 28.5 KiB libgcc x86_64 0:16.0.0-0.4.fc44 fedora 270.7 KiB libgcrypt x86_64 0:1.11.2-1.fc44 fedora 1.6 MiB libgomp x86_64 0:16.0.0-0.4.fc44 fedora 571.0 KiB libgpg-error x86_64 0:1.58-1.fc44 fedora 941.6 KiB libidn2 x86_64 0:2.3.8-2.fc43 fedora 552.5 KiB libksba x86_64 0:1.6.7-4.fc43 fedora 398.5 KiB liblastlog2 x86_64 0:2.41.3-8.fc44 fedora 33.6 KiB libmount x86_64 0:2.41.3-8.fc44 fedora 372.6 KiB libnghttp2 x86_64 0:1.68.0-2.fc44 fedora 162.2 KiB libnghttp3 x86_64 0:1.14.0-1.fc44 fedora 155.2 KiB libpkgconf x86_64 0:2.3.0-3.fc43 fedora 78.1 KiB libpsl x86_64 0:0.21.5-6.fc43 fedora 76.4 KiB libselinux x86_64 0:3.9-6.fc44 fedora 201.0 KiB libselinux-utils x86_64 0:3.9-6.fc44 fedora 305.7 KiB libsemanage x86_64 0:3.9-4.fc44 fedora 308.5 KiB libsepol x86_64 0:3.9-2.fc43 fedora 822.0 KiB libsmartcols x86_64 0:2.41.3-8.fc44 fedora 180.3 KiB libssh x86_64 0:0.11.3-1.fc44 fedora 567.1 KiB libssh-config noarch 0:0.11.3-1.fc44 fedora 277.0 B libstdc++ x86_64 0:16.0.0-0.4.fc44 fedora 2.9 MiB libtasn1 x86_64 0:4.20.0-2.fc43 fedora 176.3 KiB libtool-ltdl x86_64 0:2.5.4-9.fc44 fedora 70.0 KiB libunistring x86_64 0:1.1-10.fc43 fedora 1.7 MiB libusb1 x86_64 0:1.0.29-4.fc44 fedora 171.3 KiB libuuid x86_64 0:2.41.3-8.fc44 fedora 37.2 KiB libverto x86_64 0:0.3.2-11.fc43 fedora 25.4 KiB libxcrypt x86_64 0:4.5.2-2.fc44 fedora 285.3 KiB libxml2 x86_64 0:2.12.10-5.fc44 fedora 1.7 MiB libzstd x86_64 0:1.5.7-3.fc44 fedora 940.3 KiB linkdupes x86_64 0:0.7.2-2.fc44 fedora 838.7 KiB lua-libs x86_64 0:5.4.8-4.fc44 fedora 281.9 KiB lua-srpm-macros noarch 0:1-16.fc43 fedora 1.3 KiB lz4-libs x86_64 0:1.10.0-3.fc43 fedora 161.4 KiB mpfr x86_64 0:4.2.2-2.fc43 fedora 832.8 KiB ncurses-base noarch 0:6.5-8.20250614.fc44 fedora 328.1 KiB ncurses-libs x86_64 0:6.5-8.20250614.fc44 fedora 946.4 KiB nettle x86_64 0:3.10.1-2.fc43 fedora 790.6 KiB ngtcp2 x86_64 0:1.19.0-1.fc44 fedora 330.2 KiB ngtcp2-crypto-ossl x86_64 0:1.19.0-1.fc44 fedora 51.6 KiB npth x86_64 0:1.8-3.fc43 fedora 49.6 KiB ocaml-srpm-macros noarch 0:11-2.fc43 fedora 1.9 KiB openblas-srpm-macros noarch 0:2-20.fc43 fedora 112.0 B openldap x86_64 0:2.6.10-4.fc44 fedora 659.8 KiB openssl-libs x86_64 1:3.5.4-1.fc44 fedora 8.9 MiB p11-kit x86_64 0:0.25.8-1.fc44 fedora 2.3 MiB p11-kit-trust x86_64 0:0.25.8-1.fc44 fedora 446.5 KiB package-notes-srpm-macros noarch 0:0.5-14.fc43 fedora 1.6 KiB pam-libs x86_64 0:1.7.1-4.fc44 fedora 130.5 KiB pcre2 x86_64 0:10.47-1.fc44 fedora 702.6 KiB pcre2-syntax noarch 0:10.47-1.fc44 fedora 281.9 KiB perl-srpm-macros noarch 0:1-60.fc43 fedora 861.0 B pkgconf x86_64 0:2.3.0-3.fc43 fedora 88.5 KiB pkgconf-m4 noarch 0:2.3.0-3.fc43 fedora 14.4 KiB pkgconf-pkg-config x86_64 0:2.3.0-3.fc43 fedora 989.0 B policycoreutils x86_64 0:3.9-5.fc44 fedora 683.5 KiB popt x86_64 0:1.19-9.fc43 fedora 132.8 KiB publicsuffix-list-dafsa noarch 0:20250616-2.fc43 fedora 69.1 KiB pyproject-srpm-macros noarch 0:1.18.6-1.fc44 fedora 1.9 KiB python-srpm-macros noarch 0:3.14-9.fc44 fedora 51.6 KiB qt5-srpm-macros noarch 0:5.15.18-1.fc44 fedora 500.0 B qt6-srpm-macros noarch 0:6.10.1-1.fc44 fedora 464.0 B readline x86_64 0:8.3-3.fc44 fedora 511.5 KiB rpm x86_64 0:6.0.1-1.fc44 fedora 3.1 MiB rpm-build-libs x86_64 0:6.0.1-1.fc44 fedora 264.4 KiB rpm-libs x86_64 0:6.0.1-1.fc44 fedora 933.8 KiB rpm-plugin-selinux x86_64 0:6.0.1-1.fc44 fedora 12.0 KiB rpm-sequoia x86_64 0:1.10.0-1.fc44 fedora 2.5 MiB rpm-sign-libs x86_64 0:6.0.1-1.fc44 fedora 39.7 KiB rust-srpm-macros noarch 0:28.4-1.fc44 fedora 5.5 KiB selinux-policy noarch 0:42.20-1.fc44 fedora 32.0 KiB selinux-policy-targeted noarch 0:42.20-1.fc44 fedora 18.7 MiB setup noarch 0:2.15.0-27.fc44 fedora 724.9 KiB sqlite-libs x86_64 0:3.51.0-1.fc44 fedora 1.5 MiB systemd-libs x86_64 0:259-1.fc44 fedora 2.3 MiB systemd-standalone-sysusers x86_64 0:259-1.fc44 fedora 293.5 KiB tpm2-tss x86_64 0:4.1.3-8.fc43 fedora 1.6 MiB tree-sitter-srpm-macros noarch 0:0.4.2-1.fc43 fedora 8.3 KiB util-linux-core x86_64 0:2.41.3-8.fc44 fedora 1.5 MiB xxhash-libs x86_64 0:0.8.3-3.fc43 fedora 90.2 KiB xz-libs x86_64 1:5.8.2-1.fc44 fedora 217.7 KiB zig-srpm-macros noarch 0:1-7.fc44 fedora 1.3 KiB zip x86_64 0:3.0-44.fc43 fedora 694.5 KiB zlib-ng-compat x86_64 0:2.3.2-2.fc44 fedora 161.5 KiB zstd x86_64 0:1.5.7-3.fc44 fedora 506.2 KiB Installing groups: Buildsystem building group Transaction Summary: Installing: 183 packages Total size of inbound packages is 67 MiB. Need to download 67 MiB. After this operation, 221 MiB extra will be used (install 221 MiB, remove 0 B). [ 1/183] bzip2-0:1.0.8-21.fc43.x86_64 100% | 4.6 MiB/s | 51.6 KiB | 00m00s [ 2/183] coreutils-0:9.9-1.fc44.x86_64 100% | 50.4 MiB/s | 1.2 MiB | 00m00s [ 3/183] cpio-0:2.15-6.fc43.x86_64 100% | 23.9 MiB/s | 293.1 KiB | 00m00s [ 4/183] bash-0:5.3.9-1.fc44.x86_64 100% | 66.8 MiB/s | 1.9 MiB | 00m00s [ 5/183] fedora-release-common-0:44-0. 100% | 6.0 MiB/s | 24.7 KiB | 00m00s [ 6/183] diffutils-0:3.12-3.fc43.x86_6 100% | 76.6 MiB/s | 392.3 KiB | 00m00s [ 7/183] glibc-minimal-langpack-0:2.42 100% | 23.7 MiB/s | 72.9 KiB | 00m00s [ 8/183] findutils-1:4.10.0-6.fc43.x86 100% | 107.4 MiB/s | 550.0 KiB | 00m00s [ 9/183] grep-0:3.12-2.fc43.x86_64 100% | 58.4 MiB/s | 299.1 KiB | 00m00s [ 10/183] gzip-0:1.14-1.fc44.x86_64 100% | 43.4 MiB/s | 177.7 KiB | 00m00s [ 11/183] info-0:7.2-7.fc44.x86_64 100% | 59.6 MiB/s | 182.9 KiB | 00m00s [ 12/183] patch-0:2.8-3.fc44.x86_64 100% | 37.1 MiB/s | 113.9 KiB | 00m00s [ 13/183] redhat-rpm-config-0:343-19.fc 100% | 25.9 MiB/s | 79.4 KiB | 00m00s [ 14/183] sed-0:4.9-6.fc44.x86_64 100% | 103.2 MiB/s | 317.1 KiB | 00m00s [ 15/183] rpm-build-0:6.0.1-1.fc44.x86_ 100% | 33.7 MiB/s | 137.9 KiB | 00m00s [ 16/183] unzip-0:6.0-68.fc44.x86_64 100% | 60.1 MiB/s | 184.6 KiB | 00m00s [ 17/183] tar-2:1.35-6.fc43.x86_64 100% | 119.5 MiB/s | 856.4 KiB | 00m00s [ 18/183] shadow-utils-2:4.18.0-7.fc44. 100% | 128.0 MiB/s | 1.3 MiB | 00m00s [ 19/183] which-0:2.23-3.fc43.x86_64 100% | 8.2 MiB/s | 41.7 KiB | 00m00s [ 20/183] xz-1:5.8.2-1.fc44.x86_64 100% | 98.6 MiB/s | 606.0 KiB | 00m00s [ 21/183] util-linux-0:2.41.3-8.fc44.x8 100% | 108.4 MiB/s | 1.2 MiB | 00m00s [ 22/183] gawk-0:5.3.2-2.fc43.x86_64 100% | 93.7 MiB/s | 1.1 MiB | 00m00s [ 23/183] ncurses-libs-0:6.5-8.20250614 100% | 81.3 MiB/s | 333.1 KiB | 00m00s [ 24/183] filesystem-0:3.18-50.fc43.x86 100% | 95.3 MiB/s | 1.3 MiB | 00m00s [ 25/183] bzip2-libs-0:1.0.8-21.fc43.x8 100% | 10.5 MiB/s | 43.1 KiB | 00m00s [ 26/183] glibc-0:2.42.9000-17.fc44.x86 100% | 165.4 MiB/s | 2.3 MiB | 00m00s [ 27/183] gmp-1:6.3.0-4.fc44.x86_64 100% | 62.4 MiB/s | 319.3 KiB | 00m00s [ 28/183] libacl-0:2.3.2-4.fc43.x86_64 100% | 5.9 MiB/s | 24.3 KiB | 00m00s [ 29/183] libattr-0:2.5.2-6.fc43.x86_64 100% | 8.7 MiB/s | 17.9 KiB | 00m00s [ 30/183] coreutils-common-0:9.9-1.fc44 100% | 140.2 MiB/s | 2.1 MiB | 00m00s [ 31/183] libcap-0:2.77-1.fc44.x86_64 100% | 21.3 MiB/s | 87.1 KiB | 00m00s [ 32/183] libselinux-0:3.9-6.fc44.x86_6 100% | 24.7 MiB/s | 101.3 KiB | 00m00s [ 33/183] fedora-repos-0:44-0.1.noarch 100% | 3.0 MiB/s | 9.1 KiB | 00m00s [ 34/183] systemd-libs-0:259-1.fc44.x86 100% | 133.9 MiB/s | 822.5 KiB | 00m00s [ 35/183] glibc-common-0:2.42.9000-17.f 100% | 88.0 MiB/s | 360.5 KiB | 00m00s [ 36/183] openssl-libs-1:3.5.4-1.fc44.x 100% | 218.2 MiB/s | 2.6 MiB | 00m00s [ 37/183] pcre2-0:10.47-1.fc44.x86_64 100% | 52.2 MiB/s | 267.2 KiB | 00m00s [ 38/183] ed-0:1.22.4-1.fc44.x86_64 100% | 16.4 MiB/s | 84.2 KiB | 00m00s [ 39/183] R-srpm-macros-0:1.3.3-1.fc44. 100% | 5.1 MiB/s | 10.4 KiB | 00m00s [ 40/183] ansible-srpm-macros-0:1-18.1. 100% | 9.7 MiB/s | 19.9 KiB | 00m00s [ 41/183] build-reproducibility-srpm-ma 100% | 6.3 MiB/s | 12.9 KiB | 00m00s [ 42/183] cmake-srpm-macros-0:3.31.10-3 100% | 5.1 MiB/s | 10.4 KiB | 00m00s [ 43/183] efi-srpm-macros-0:6-5.fc44.no 100% | 7.3 MiB/s | 22.5 KiB | 00m00s [ 44/183] dwz-0:0.16-2.fc43.x86_64 100% | 44.1 MiB/s | 135.5 KiB | 00m00s [ 45/183] file-0:5.46-8.fc44.x86_64 100% | 15.9 MiB/s | 48.8 KiB | 00m00s [ 46/183] filesystem-srpm-macros-0:3.18 100% | 8.6 MiB/s | 26.4 KiB | 00m00s [ 47/183] fonts-srpm-macros-1:5.0.0-1.f 100% | 8.9 MiB/s | 27.3 KiB | 00m00s [ 48/183] fpc-srpm-macros-0:1.3-15.fc43 100% | 3.9 MiB/s | 7.9 KiB | 00m00s [ 49/183] forge-srpm-macros-0:0.4.0-3.f 100% | 9.8 MiB/s | 20.1 KiB | 00m00s [ 50/183] gap-srpm-macros-0:2-1.fc44.no 100% | 4.4 MiB/s | 9.1 KiB | 00m00s [ 51/183] gnat-srpm-macros-0:7-1.fc44.n 100% | 4.2 MiB/s | 8.6 KiB | 00m00s [ 52/183] ghc-srpm-macros-0:1.9.2-3.fc4 100% | 2.8 MiB/s | 8.7 KiB | 00m00s [ 53/183] go-srpm-macros-0:3.8.0-1.fc44 100% | 5.5 MiB/s | 28.3 KiB | 00m00s [ 54/183] java-srpm-macros-0:1-7.fc43.n 100% | 3.9 MiB/s | 7.9 KiB | 00m00s [ 55/183] kernel-srpm-macros-0:1.0-27.f 100% | 4.4 MiB/s | 8.9 KiB | 00m00s [ 56/183] lua-srpm-macros-0:1-16.fc43.n 100% | 4.3 MiB/s | 8.8 KiB | 00m00s [ 57/183] ocaml-srpm-macros-0:11-2.fc43 100% | 4.5 MiB/s | 9.3 KiB | 00m00s [ 58/183] openblas-srpm-macros-0:2-20.f 100% | 3.7 MiB/s | 7.6 KiB | 00m00s [ 59/183] package-notes-srpm-macros-0:0 100% | 4.4 MiB/s | 9.0 KiB | 00m00s [ 60/183] perl-srpm-macros-0:1-60.fc43. 100% | 2.7 MiB/s | 8.3 KiB | 00m00s [ 61/183] pyproject-srpm-macros-0:1.18. 100% | 3.3 MiB/s | 13.3 KiB | 00m00s [ 62/183] qt5-srpm-macros-0:5.15.18-1.f 100% | 4.2 MiB/s | 8.6 KiB | 00m00s [ 63/183] python-srpm-macros-0:3.14-9.f 100% | 7.7 MiB/s | 23.8 KiB | 00m00s [ 64/183] qt6-srpm-macros-0:6.10.1-1.fc 100% | 4.6 MiB/s | 9.4 KiB | 00m00s [ 65/183] rust-srpm-macros-0:28.4-1.fc4 100% | 2.7 MiB/s | 10.9 KiB | 00m00s [ 66/183] rpm-0:6.0.1-1.fc44.x86_64 100% | 112.8 MiB/s | 577.6 KiB | 00m00s [ 67/183] tree-sitter-srpm-macros-0:0.4 100% | 2.6 MiB/s | 13.4 KiB | 00m00s [ 68/183] zig-srpm-macros-0:1-7.fc44.no 100% | 4.2 MiB/s | 8.6 KiB | 00m00s [ 69/183] debugedit-0:5.2-3.fc44.x86_64 100% | 41.8 MiB/s | 85.6 KiB | 00m00s [ 70/183] zip-0:3.0-44.fc43.x86_64 100% | 85.1 MiB/s | 261.6 KiB | 00m00s [ 71/183] elfutils-0:0.194-2.fc44.x86_6 100% | 140.3 MiB/s | 574.6 KiB | 00m00s [ 72/183] elfutils-libelf-0:0.194-2.fc4 100% | 50.0 MiB/s | 204.7 KiB | 00m00s [ 73/183] libarchive-0:3.8.4-1.fc44.x86 100% | 103.2 MiB/s | 422.8 KiB | 00m00s [ 74/183] libgcc-0:16.0.0-0.4.fc44.x86_ 100% | 36.6 MiB/s | 112.4 KiB | 00m00s [ 75/183] popt-0:1.19-9.fc43.x86_64 100% | 16.0 MiB/s | 65.7 KiB | 00m00s [ 76/183] libstdc++-0:16.0.0-0.4.fc44.x 100% | 152.1 MiB/s | 934.4 KiB | 00m00s [ 77/183] readline-0:8.3-3.fc44.x86_64 100% | 43.9 MiB/s | 224.8 KiB | 00m00s [ 78/183] rpm-build-libs-0:6.0.1-1.fc44 100% | 41.3 MiB/s | 126.9 KiB | 00m00s [ 79/183] rpm-libs-0:6.0.1-1.fc44.x86_6 100% | 97.9 MiB/s | 401.1 KiB | 00m00s [ 80/183] zstd-0:1.5.7-3.fc44.x86_64 100% | 61.7 MiB/s | 189.5 KiB | 00m00s [ 81/183] audit-libs-0:4.1.2-2.fc44.x86 100% | 33.8 MiB/s | 138.4 KiB | 00m00s [ 82/183] libeconf-0:0.7.9-2.fc43.x86_6 100% | 17.2 MiB/s | 35.2 KiB | 00m00s [ 83/183] libsemanage-0:3.9-4.fc44.x86_ 100% | 60.3 MiB/s | 123.5 KiB | 00m00s [ 84/183] pam-libs-0:1.7.1-4.fc44.x86_6 100% | 28.7 MiB/s | 58.7 KiB | 00m00s [ 85/183] libxcrypt-0:4.5.2-2.fc44.x86_ 100% | 41.7 MiB/s | 128.2 KiB | 00m00s [ 86/183] setup-0:2.15.0-27.fc44.noarch 100% | 51.2 MiB/s | 157.4 KiB | 00m00s [ 87/183] xz-libs-1:5.8.2-1.fc44.x86_64 100% | 27.6 MiB/s | 112.9 KiB | 00m00s [ 88/183] mpfr-0:4.2.2-2.fc43.x86_64 100% | 67.8 MiB/s | 347.0 KiB | 00m00s [ 89/183] libblkid-0:2.41.3-8.fc44.x86_ 100% | 24.0 MiB/s | 122.8 KiB | 00m00s [ 90/183] libfdisk-0:2.41.3-8.fc44.x86_ 100% | 52.5 MiB/s | 161.4 KiB | 00m00s [ 91/183] libcap-ng-0:0.8.5-8.fc44.x86_ 100% | 6.3 MiB/s | 32.2 KiB | 00m00s [ 92/183] liblastlog2-0:2.41.3-8.fc44.x 100% | 5.6 MiB/s | 22.9 KiB | 00m00s [ 93/183] libmount-0:2.41.3-8.fc44.x86_ 100% | 52.8 MiB/s | 162.1 KiB | 00m00s [ 94/183] libsmartcols-0:2.41.3-8.fc44. 100% | 27.2 MiB/s | 83.5 KiB | 00m00s [ 95/183] libuuid-0:2.41.3-8.fc44.x86_6 100% | 8.4 MiB/s | 25.8 KiB | 00m00s [ 96/183] zlib-ng-compat-0:2.3.2-2.fc44 100% | 43.4 MiB/s | 88.9 KiB | 00m00s [ 97/183] util-linux-core-0:2.41.3-8.fc 100% | 134.3 MiB/s | 550.3 KiB | 00m00s [ 98/183] ncurses-base-0:6.5-8.20250614 100% | 43.0 MiB/s | 88.1 KiB | 00m00s [ 99/183] gnulib-l10n-0:20241231-1.fc44 100% | 36.7 MiB/s | 150.2 KiB | 00m00s [100/183] glibc-gconv-extra-0:2.42.9000 100% | 201.6 MiB/s | 1.6 MiB | 00m00s [101/183] libsepol-0:3.9-2.fc43.x86_64 100% | 67.5 MiB/s | 345.4 KiB | 00m00s [102/183] ca-certificates-0:2025.2.80_v 100% | 158.5 MiB/s | 973.8 KiB | 00m00s [103/183] crypto-policies-0:20251128-1. 100% | 23.9 MiB/s | 98.1 KiB | 00m00s [104/183] fedora-gpg-keys-0:44-0.1.noar 100% | 33.9 MiB/s | 138.8 KiB | 00m00s [105/183] fedora-repos-rawhide-0:44-0.1 100% | 4.2 MiB/s | 8.6 KiB | 00m00s [106/183] pcre2-syntax-0:10.47-1.fc44.n 100% | 53.6 MiB/s | 164.7 KiB | 00m00s [107/183] add-determinism-0:0.7.2-2.fc4 100% | 144.5 MiB/s | 887.6 KiB | 00m00s [108/183] linkdupes-0:0.7.2-2.fc44.x86_ 100% | 69.6 MiB/s | 356.3 KiB | 00m00s [109/183] file-libs-0:5.46-8.fc44.x86_6 100% | 138.3 MiB/s | 849.9 KiB | 00m00s [110/183] curl-0:8.18.0-1.fc44.x86_64 100% | 58.8 MiB/s | 240.8 KiB | 00m00s [111/183] elfutils-libs-0:0.194-2.fc44. 100% | 88.2 MiB/s | 271.0 KiB | 00m00s [112/183] elfutils-debuginfod-client-0: 100% | 22.6 MiB/s | 46.3 KiB | 00m00s [113/183] lz4-libs-0:1.10.0-3.fc43.x86_ 100% | 38.1 MiB/s | 78.0 KiB | 00m00s [114/183] libzstd-0:1.5.7-3.fc44.x86_64 100% | 70.1 MiB/s | 359.1 KiB | 00m00s [115/183] libxml2-0:2.12.10-5.fc44.x86_ 100% | 112.7 MiB/s | 692.7 KiB | 00m00s [116/183] libatomic-0:16.0.0-0.4.fc44.x 100% | 10.0 MiB/s | 30.8 KiB | 00m00s [117/183] libgomp-0:16.0.0-0.4.fc44.x86 100% | 120.6 MiB/s | 370.6 KiB | 00m00s [118/183] lua-libs-0:5.4.8-4.fc44.x86_6 100% | 43.3 MiB/s | 133.1 KiB | 00m00s [119/183] rpm-sign-libs-0:6.0.1-1.fc44. 100% | 13.7 MiB/s | 28.0 KiB | 00m00s [120/183] elfutils-default-yama-scope-0 100% | 11.5 MiB/s | 11.8 KiB | 00m00s [121/183] rpm-sequoia-0:1.10.0-1.fc44.x 100% | 152.9 MiB/s | 939.4 KiB | 00m00s [122/183] sqlite-libs-0:3.51.0-1.fc44.x 100% | 124.8 MiB/s | 766.5 KiB | 00m00s [123/183] json-c-0:0.18-7.fc43.x86_64 100% | 11.0 MiB/s | 45.0 KiB | 00m00s [124/183] ima-evm-utils-libs-0:1.6.2-7. 100% | 14.4 MiB/s | 29.4 KiB | 00m00s [125/183] libfsverity-0:1.6-3.fc43.x86_ 100% | 9.1 MiB/s | 18.6 KiB | 00m00s [126/183] gpgverify-0:2.2-3.fc43.noarch 100% | 5.4 MiB/s | 11.1 KiB | 00m00s [127/183] gnupg2-dirmngr-0:2.4.9-1.fc44 100% | 67.1 MiB/s | 274.8 KiB | 00m00s [128/183] gnupg2-0:2.4.9-1.fc44.x86_64 100% | 148.6 MiB/s | 1.6 MiB | 00m00s [129/183] gnupg2-gpg-agent-0:2.4.9-1.fc 100% | 53.4 MiB/s | 273.2 KiB | 00m00s [130/183] gnupg2-gpgconf-0:2.4.9-1.fc44 100% | 22.5 MiB/s | 115.1 KiB | 00m00s [131/183] gnupg2-keyboxd-0:2.4.9-1.fc44 100% | 30.8 MiB/s | 94.5 KiB | 00m00s [132/183] gnupg2-verify-0:2.4.9-1.fc44. 100% | 33.5 MiB/s | 171.3 KiB | 00m00s [133/183] libassuan-0:2.5.7-4.fc43.x86_ 100% | 21.9 MiB/s | 67.4 KiB | 00m00s [134/183] libgcrypt-0:1.11.2-1.fc44.x86 100% | 97.0 MiB/s | 596.1 KiB | 00m00s [135/183] npth-0:1.8-3.fc43.x86_64 100% | 4.2 MiB/s | 25.7 KiB | 00m00s [136/183] libgpg-error-0:1.58-1.fc44.x8 100% | 34.9 MiB/s | 250.3 KiB | 00m00s [137/183] tpm2-tss-0:4.1.3-8.fc43.x86_6 100% | 83.2 MiB/s | 425.9 KiB | 00m00s [138/183] libksba-0:1.6.7-4.fc43.x86_64 100% | 52.2 MiB/s | 160.4 KiB | 00m00s [139/183] openldap-0:2.6.10-4.fc44.x86_ 100% | 63.3 MiB/s | 259.5 KiB | 00m00s [140/183] libusb1-0:1.0.29-4.fc44.x86_6 100% | 26.0 MiB/s | 79.9 KiB | 00m00s [141/183] gnutls-0:3.8.11-6.fc44.x86_64 100% | 136.4 MiB/s | 1.4 MiB | 00m00s [142/183] libidn2-0:2.3.8-2.fc43.x86_64 100% | 34.2 MiB/s | 174.9 KiB | 00m00s [143/183] libtasn1-0:4.20.0-2.fc43.x86_ 100% | 18.2 MiB/s | 74.5 KiB | 00m00s [144/183] libunistring-0:1.1-10.fc43.x8 100% | 132.6 MiB/s | 542.9 KiB | 00m00s [145/183] p11-kit-0:0.25.8-1.fc44.x86_6 100% | 99.6 MiB/s | 510.0 KiB | 00m00s [146/183] nettle-0:3.10.1-2.fc43.x86_64 100% | 69.0 MiB/s | 424.2 KiB | 00m00s [147/183] cyrus-sasl-lib-0:2.1.28-33.fc 100% | 111.1 MiB/s | 796.5 KiB | 00m00s [148/183] libtool-ltdl-0:2.5.4-9.fc44.x 100% | 9.0 MiB/s | 36.9 KiB | 00m00s [149/183] libevent-0:2.1.12-16.fc43.x86 100% | 42.0 MiB/s | 257.8 KiB | 00m00s [150/183] libffi-0:3.5.2-1.fc44.x86_64 100% | 20.0 MiB/s | 41.1 KiB | 00m00s [151/183] gdbm-libs-1:1.23-10.fc43.x86_ 100% | 27.7 MiB/s | 56.8 KiB | 00m00s [152/183] alternatives-0:1.33-3.fc44.x8 100% | 13.3 MiB/s | 40.8 KiB | 00m00s [153/183] jansson-0:2.14-3.fc43.x86_64 100% | 7.4 MiB/s | 45.3 KiB | 00m00s [154/183] pkgconf-pkg-config-0:2.3.0-3. 100% | 2.3 MiB/s | 9.6 KiB | 00m00s [155/183] pkgconf-0:2.3.0-3.fc43.x86_64 100% | 10.9 MiB/s | 44.6 KiB | 00m00s [156/183] pkgconf-m4-0:2.3.0-3.fc43.noa 100% | 3.4 MiB/s | 13.9 KiB | 00m00s [157/183] libpkgconf-0:2.3.0-3.fc43.x86 100% | 12.3 MiB/s | 37.9 KiB | 00m00s [158/183] fedora-release-0:44-0.10.noar 100% | 6.6 MiB/s | 13.5 KiB | 00m00s [159/183] p11-kit-trust-0:0.25.8-1.fc44 100% | 27.3 MiB/s | 139.7 KiB | 00m00s [160/183] systemd-standalone-sysusers-0 100% | 35.1 MiB/s | 143.8 KiB | 00m00s [161/183] binutils-0:2.45.50-9.fc44.x86 100% | 204.2 MiB/s | 5.9 MiB | 00m00s [162/183] xxhash-libs-0:0.8.3-3.fc43.x8 100% | 5.4 MiB/s | 38.5 KiB | 00m00s [163/183] fedora-release-identity-basic 100% | 3.5 MiB/s | 14.3 KiB | 00m00s [164/183] libcurl-0:8.18.0-1.fc44.x86_6 100% | 74.1 MiB/s | 455.1 KiB | 00m00s [165/183] krb5-libs-0:1.21.3-11.fc44.x8 100% | 123.7 MiB/s | 759.9 KiB | 00m00s [166/183] gdb-minimal-0:17.1-1.fc44.x86 100% | 191.5 MiB/s | 4.8 MiB | 00m00s [167/183] libbrotli-0:1.2.0-1.fc44.x86_ 100% | 37.9 MiB/s | 349.2 KiB | 00m00s [168/183] libnghttp2-0:1.68.0-2.fc44.x8 100% | 14.2 MiB/s | 72.9 KiB | 00m00s [169/183] libnghttp3-0:1.14.0-1.fc44.x8 100% | 23.0 MiB/s | 70.7 KiB | 00m00s [170/183] libpsl-0:0.21.5-6.fc43.x86_64 100% | 31.7 MiB/s | 65.0 KiB | 00m00s [171/183] libssh-0:0.11.3-1.fc44.x86_64 100% | 56.8 MiB/s | 232.8 KiB | 00m00s [172/183] ngtcp2-crypto-ossl-0:1.19.0-1 100% | 8.9 MiB/s | 27.2 KiB | 00m00s [173/183] ngtcp2-0:1.19.0-1.fc44.x86_64 100% | 37.7 MiB/s | 154.5 KiB | 00m00s [174/183] keyutils-libs-0:1.6.3-6.fc43. 100% | 10.2 MiB/s | 31.4 KiB | 00m00s [175/183] libcom_err-0:1.47.3-3.fc44.x8 100% | 8.8 MiB/s | 26.9 KiB | 00m00s [176/183] libverto-0:0.3.2-11.fc43.x86_ 100% | 10.1 MiB/s | 20.7 KiB | 00m00s [177/183] publicsuffix-list-dafsa-0:202 100% | 28.9 MiB/s | 59.2 KiB | 00m00s [178/183] libssh-config-0:0.11.3-1.fc44 100% | 4.4 MiB/s | 9.1 KiB | 00m00s [179/183] policycoreutils-0:3.9-5.fc44. 100% | 69.9 MiB/s | 214.6 KiB | 00m00s [180/183] selinux-policy-0:42.20-1.fc44 100% | 21.5 MiB/s | 66.0 KiB | 00m00s [181/183] libselinux-utils-0:3.9-6.fc44 100% | 38.9 MiB/s | 119.5 KiB | 00m00s [182/183] rpm-plugin-selinux-0:6.0.1-1. 100% | 6.3 MiB/s | 19.2 KiB | 00m00s [183/183] selinux-policy-targeted-0:42. 100% | 283.8 MiB/s | 6.8 MiB | 00m00s -------------------------------------------------------------------------------- [183/183] Total 100% | 193.9 MiB/s | 67.5 MiB | 00m00s Running transaction 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 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 0x31645531: UserID : "Fedora (43) " Fingerprint: C6E7F081CF80E13146676E88829B606631645531 From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-43-primary The key was successfully imported. Importing OpenPGP key 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. [ 1/185] Verify package files 100% | 759.0 B/s | 183.0 B | 00m00s [ 2/185] Prepare transaction 100% | 3.5 KiB/s | 183.0 B | 00m00s [ 3/185] Installing libgcc-0:16.0.0-0. 100% | 266.0 MiB/s | 272.4 KiB | 00m00s [ 4/185] Installing libssh-config-0:0. 100% | 0.0 B/s | 816.0 B | 00m00s [ 5/185] Installing publicsuffix-list- 100% | 0.0 B/s | 69.8 KiB | 00m00s [ 6/185] Installing fedora-release-ide 100% | 0.0 B/s | 920.0 B | 00m00s [ 7/185] Installing fedora-gpg-keys-0: 100% | 43.7 MiB/s | 179.0 KiB | 00m00s [ 8/185] Installing fedora-repos-rawhi 100% | 0.0 B/s | 2.4 KiB | 00m00s [ 9/185] Installing fedora-repos-0:44- 100% | 0.0 B/s | 5.7 KiB | 00m00s [ 10/185] Installing fedora-release-com 100% | 24.3 MiB/s | 24.9 KiB | 00m00s [ 11/185] Installing fedora-release-0:4 100% | 15.1 KiB/s | 124.0 B | 00m00s >>> Running sysusers scriptlet: setup-0:2.15.0-27.fc44.noarch >>> Finished sysusers scriptlet: setup-0:2.15.0-27.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/185] Installing setup-0:2.15.0-27. 100% | 51.0 MiB/s | 730.6 KiB | 00m00s >>> [RPM] /etc/hosts created as /etc/hosts.rpmnew [ 13/185] Installing filesystem-0:3.18- 100% | 2.9 MiB/s | 212.8 KiB | 00m00s [ 14/185] Installing pkgconf-m4-0:2.3.0 100% | 0.0 B/s | 14.8 KiB | 00m00s [ 15/185] Installing pcre2-syntax-0:10. 100% | 277.7 MiB/s | 284.3 KiB | 00m00s [ 16/185] Installing gnulib-l10n-0:2024 100% | 215.5 MiB/s | 661.9 KiB | 00m00s [ 17/185] Installing coreutils-common-0 100% | 431.9 MiB/s | 11.2 MiB | 00m00s [ 18/185] Installing ncurses-base-0:6.5 100% | 86.3 MiB/s | 353.5 KiB | 00m00s [ 19/185] Installing bash-0:5.3.9-1.fc4 100% | 312.5 MiB/s | 8.4 MiB | 00m00s [ 20/185] Installing glibc-common-0:2.4 100% | 68.3 MiB/s | 1.0 MiB | 00m00s [ 21/185] Installing glibc-gconv-extra- 100% | 303.6 MiB/s | 7.3 MiB | 00m00s [ 22/185] Installing glibc-0:2.42.9000- 100% | 207.6 MiB/s | 6.8 MiB | 00m00s [ 23/185] Installing ncurses-libs-0:6.5 100% | 310.2 MiB/s | 953.0 KiB | 00m00s [ 24/185] Installing glibc-minimal-lang 100% | 0.0 B/s | 124.0 B | 00m00s [ 25/185] Installing zlib-ng-compat-0:2 100% | 158.6 MiB/s | 162.4 KiB | 00m00s [ 26/185] Installing bzip2-libs-0:1.0.8 100% | 79.8 MiB/s | 81.7 KiB | 00m00s [ 27/185] Installing libgpg-error-0:1.5 100% | 71.2 MiB/s | 947.5 KiB | 00m00s [ 28/185] Installing libassuan-0:2.5.7- 100% | 161.7 MiB/s | 165.6 KiB | 00m00s [ 29/185] Installing libgcrypt-0:1.11.2 100% | 394.0 MiB/s | 1.6 MiB | 00m00s [ 30/185] Installing readline-0:8.3-3.f 100% | 250.8 MiB/s | 513.6 KiB | 00m00s [ 31/185] Installing gmp-1:6.3.0-4.fc44 100% | 399.2 MiB/s | 817.5 KiB | 00m00s [ 32/185] Installing xz-libs-1:5.8.2-1. 100% | 213.7 MiB/s | 218.8 KiB | 00m00s [ 33/185] Installing libuuid-0:2.41.3-8 100% | 0.0 B/s | 38.2 KiB | 00m00s [ 34/185] Installing popt-0:1.19-9.fc43 100% | 68.1 MiB/s | 139.4 KiB | 00m00s [ 35/185] Installing libzstd-0:1.5.7-3. 100% | 459.7 MiB/s | 941.6 KiB | 00m00s [ 36/185] Installing elfutils-libelf-0: 100% | 373.7 MiB/s | 1.1 MiB | 00m00s [ 37/185] Installing npth-0:1.8-3.fc43. 100% | 0.0 B/s | 50.7 KiB | 00m00s [ 38/185] Installing libblkid-0:2.41.3- 100% | 257.2 MiB/s | 263.4 KiB | 00m00s [ 39/185] Installing systemd-libs-0:259 100% | 390.0 MiB/s | 2.3 MiB | 00m00s [ 40/185] Installing libxcrypt-0:4.5.2- 100% | 281.3 MiB/s | 288.0 KiB | 00m00s [ 41/185] Installing libsepol-0:3.9-2.f 100% | 401.8 MiB/s | 822.9 KiB | 00m00s [ 42/185] Installing sqlite-libs-0:3.51 100% | 383.0 MiB/s | 1.5 MiB | 00m00s [ 43/185] Installing gnupg2-gpgconf-0:2 100% | 22.4 MiB/s | 251.8 KiB | 00m00s [ 44/185] Installing libattr-0:2.5.2-6. 100% | 0.0 B/s | 25.4 KiB | 00m00s [ 45/185] Installing libacl-0:2.3.2-4.f 100% | 0.0 B/s | 36.8 KiB | 00m00s [ 46/185] Installing pcre2-0:10.47-1.fc 100% | 343.8 MiB/s | 704.1 KiB | 00m00s [ 47/185] Installing libselinux-0:3.9-6 100% | 197.6 MiB/s | 202.3 KiB | 00m00s [ 48/185] Installing grep-0:3.12-2.fc43 100% | 71.6 MiB/s | 1.0 MiB | 00m00s [ 49/185] Installing sed-0:4.9-6.fc44.x 100% | 65.0 MiB/s | 865.5 KiB | 00m00s [ 50/185] Installing findutils-1:4.10.0 100% | 123.9 MiB/s | 1.9 MiB | 00m00s [ 51/185] Installing libtasn1-0:4.20.0- 100% | 173.9 MiB/s | 178.1 KiB | 00m00s [ 52/185] Installing libunistring-0:1.1 100% | 431.7 MiB/s | 1.7 MiB | 00m00s [ 53/185] Installing libidn2-0:2.3.8-2. 100% | 60.6 MiB/s | 558.7 KiB | 00m00s [ 54/185] Installing crypto-policies-0: 100% | 38.5 MiB/s | 157.7 KiB | 00m00s [ 55/185] Installing xz-1:5.8.2-1.fc44. 100% | 75.8 MiB/s | 1.4 MiB | 00m00s [ 56/185] Installing libmount-0:2.41.3- 100% | 364.8 MiB/s | 373.6 KiB | 00m00s [ 57/185] Installing gnupg2-verify-0:2. 100% | 28.5 MiB/s | 349.7 KiB | 00m00s [ 58/185] Installing dwz-0:0.16-2.fc43. 100% | 25.6 MiB/s | 288.5 KiB | 00m00s [ 59/185] Installing mpfr-0:4.2.2-2.fc4 100% | 407.4 MiB/s | 834.4 KiB | 00m00s [ 60/185] Installing gawk-0:5.3.2-2.fc4 100% | 113.5 MiB/s | 1.8 MiB | 00m00s [ 61/185] Installing libksba-0:1.6.7-4. 100% | 391.7 MiB/s | 401.1 KiB | 00m00s [ 62/185] Installing unzip-0:6.0-68.fc4 100% | 32.1 MiB/s | 393.8 KiB | 00m00s [ 63/185] Installing file-libs-0:5.46-8 100% | 741.1 MiB/s | 11.9 MiB | 00m00s [ 64/185] Installing file-0:5.46-8.fc44 100% | 9.0 MiB/s | 101.7 KiB | 00m00s [ 65/185] Installing diffutils-0:3.12-3 100% | 104.1 MiB/s | 1.6 MiB | 00m00s [ 66/185] Installing libeconf-0:0.7.9-2 100% | 65.0 MiB/s | 66.5 KiB | 00m00s [ 67/185] Installing libcap-ng-0:0.8.5- 100% | 69.2 MiB/s | 70.8 KiB | 00m00s [ 68/185] Installing audit-libs-0:4.1.2 100% | 372.6 MiB/s | 381.5 KiB | 00m00s [ 69/185] Installing pam-libs-0:1.7.1-4 100% | 129.4 MiB/s | 132.5 KiB | 00m00s [ 70/185] Installing libcap-0:2.77-1.fc 100% | 17.4 MiB/s | 214.3 KiB | 00m00s [ 71/185] Installing libsemanage-0:3.9- 100% | 303.0 MiB/s | 310.2 KiB | 00m00s [ 72/185] Installing libsmartcols-0:2.4 100% | 177.1 MiB/s | 181.4 KiB | 00m00s [ 73/185] Installing lua-libs-0:5.4.8-4 100% | 276.7 MiB/s | 283.3 KiB | 00m00s [ 74/185] Installing json-c-0:0.18-7.fc 100% | 0.0 B/s | 84.0 KiB | 00m00s [ 75/185] Installing libffi-0:3.5.2-1.f 100% | 83.2 MiB/s | 85.2 KiB | 00m00s [ 76/185] Installing p11-kit-0:0.25.8-1 100% | 127.2 MiB/s | 2.3 MiB | 00m00s [ 77/185] Installing alternatives-0:1.3 100% | 5.7 MiB/s | 63.8 KiB | 00m00s [ 78/185] Installing p11-kit-trust-0:0. 100% | 23.0 MiB/s | 448.3 KiB | 00m00s [ 79/185] Installing ngtcp2-0:1.19.0-1. 100% | 323.9 MiB/s | 331.7 KiB | 00m00s [ 80/185] Installing openssl-libs-1:3.5 100% | 405.0 MiB/s | 8.9 MiB | 00m00s [ 81/185] Installing coreutils-0:9.9-1. 100% | 171.4 MiB/s | 5.5 MiB | 00m00s [ 82/185] Installing ca-certificates-0: 100% | 2.1 MiB/s | 2.5 MiB | 00m01s [ 83/185] Installing gzip-0:1.14-1.fc44 100% | 28.1 MiB/s | 403.3 KiB | 00m00s [ 84/185] Installing rpm-sequoia-0:1.10 100% | 411.0 MiB/s | 2.5 MiB | 00m00s [ 85/185] Installing libfsverity-0:1.6- 100% | 0.0 B/s | 29.5 KiB | 00m00s [ 86/185] Installing libevent-0:2.1.12- 100% | 288.7 MiB/s | 886.8 KiB | 00m00s [ 87/185] Installing ngtcp2-crypto-ossl 100% | 51.2 MiB/s | 52.5 KiB | 00m00s [ 88/185] Installing util-linux-core-0: 100% | 86.8 MiB/s | 1.5 MiB | 00m00s [ 89/185] Installing zip-0:3.0-44.fc43. 100% | 52.5 MiB/s | 698.4 KiB | 00m00s [ 90/185] Installing gnupg2-keyboxd-0:2 100% | 28.3 MiB/s | 202.5 KiB | 00m00s [ 91/185] Installing libpsl-0:0.21.5-6. 100% | 75.7 MiB/s | 77.5 KiB | 00m00s [ 92/185] Installing tar-2:1.35-6.fc43. 100% | 147.9 MiB/s | 3.0 MiB | 00m00s [ 93/185] Installing linkdupes-0:0.7.2- 100% | 58.6 MiB/s | 840.1 KiB | 00m00s [ 94/185] Installing libselinux-utils-0 100% | 24.0 MiB/s | 320.1 KiB | 00m00s [ 95/185] Installing liblastlog2-0:2.41 100% | 5.8 MiB/s | 35.8 KiB | 00m00s [ 96/185] Installing systemd-standalone 100% | 22.1 MiB/s | 294.2 KiB | 00m00s [ 97/185] Installing libusb1-0:1.0.29-4 100% | 21.1 MiB/s | 172.9 KiB | 00m00s >>> Running sysusers scriptlet: tpm2-tss-0:4.1.3-8.fc43.x86_64 >>> Finished sysusers scriptlet: tpm2-tss-0:4.1.3-8.fc43.x86_64 >>> Scriptlet output: >>> Creating group 'tss' with GID 59. >>> Creating user 'tss' (Account used for TPM access) with UID 59 and GID 59. >>> [ 98/185] Installing tpm2-tss-0:4.1.3-8 100% | 262.0 MiB/s | 1.6 MiB | 00m00s [ 99/185] Installing ima-evm-utils-libs 100% | 60.5 MiB/s | 62.0 KiB | 00m00s [100/185] Installing gnupg2-gpg-agent-0 100% | 31.4 MiB/s | 674.6 KiB | 00m00s [101/185] Installing libfdisk-0:2.41.3- 100% | 186.2 MiB/s | 381.3 KiB | 00m00s [102/185] Installing util-linux-0:2.41. 100% | 104.8 MiB/s | 3.6 MiB | 00m00s [103/185] Installing policycoreutils-0: 100% | 30.2 MiB/s | 711.8 KiB | 00m00s [104/185] Installing selinux-policy-0:4 100% | 1.6 MiB/s | 33.6 KiB | 00m00s [105/185] Installing selinux-policy-tar 100% | 204.5 MiB/s | 14.9 MiB | 00m00s [106/185] Installing libxml2-0:2.12.10- 100% | 94.7 MiB/s | 1.7 MiB | 00m00s [107/185] Installing nettle-0:3.10.1-2. 100% | 258.4 MiB/s | 793.7 KiB | 00m00s [108/185] Installing gnutls-0:3.8.11-6. 100% | 405.4 MiB/s | 3.6 MiB | 00m00s [109/185] Installing bzip2-0:1.0.8-21.f 100% | 8.1 MiB/s | 99.8 KiB | 00m00s [110/185] Installing add-determinism-0: 100% | 144.1 MiB/s | 2.3 MiB | 00m00s [111/185] Installing build-reproducibil 100% | 0.0 B/s | 1.5 KiB | 00m00s [112/185] Installing cpio-0:2.15-6.fc43 100% | 78.5 MiB/s | 1.1 MiB | 00m00s [113/185] Installing ed-0:1.22.4-1.fc44 100% | 12.3 MiB/s | 151.4 KiB | 00m00s [114/185] Installing patch-0:2.8-3.fc44 100% | 18.6 MiB/s | 228.2 KiB | 00m00s [115/185] Installing lz4-libs-0:1.10.0- 100% | 158.6 MiB/s | 162.5 KiB | 00m00s [116/185] Installing libarchive-0:3.8.4 100% | 311.6 MiB/s | 957.2 KiB | 00m00s [117/185] Installing libatomic-0:16.0.0 100% | 0.0 B/s | 46.2 KiB | 00m00s [118/185] Installing libstdc++-0:16.0.0 100% | 416.9 MiB/s | 2.9 MiB | 00m00s [119/185] Installing rpm-libs-0:6.0.1-1 100% | 304.5 MiB/s | 935.3 KiB | 00m00s [120/185] Installing zstd-0:1.5.7-3.fc4 100% | 38.3 MiB/s | 509.8 KiB | 00m00s [121/185] Installing libgomp-0:16.0.0-0 100% | 279.5 MiB/s | 572.4 KiB | 00m00s [122/185] Installing libtool-ltdl-0:2.5 100% | 69.5 MiB/s | 71.1 KiB | 00m00s [123/185] Installing gdbm-libs-1:1.23-1 100% | 128.5 MiB/s | 131.6 KiB | 00m00s [124/185] Installing cyrus-sasl-lib-0:2 100% | 135.3 MiB/s | 2.3 MiB | 00m00s [125/185] Installing openldap-0:2.6.10- 100% | 324.0 MiB/s | 663.6 KiB | 00m00s [126/185] Installing gnupg2-dirmngr-0:2 100% | 30.3 MiB/s | 620.7 KiB | 00m00s [127/185] Installing gnupg2-0:2.4.9-1.f 100% | 231.5 MiB/s | 6.5 MiB | 00m00s [128/185] Installing rpm-sign-libs-0:6. 100% | 39.6 MiB/s | 40.6 KiB | 00m00s [129/185] Installing gpgverify-0:2.2-3. 100% | 0.0 B/s | 9.4 KiB | 00m00s [130/185] Installing jansson-0:2.14-3.f 100% | 88.3 MiB/s | 90.5 KiB | 00m00s [131/185] Installing libpkgconf-0:2.3.0 100% | 0.0 B/s | 79.2 KiB | 00m00s [132/185] Installing pkgconf-0:2.3.0-3. 100% | 7.4 MiB/s | 91.0 KiB | 00m00s [133/185] Installing pkgconf-pkg-config 100% | 161.2 KiB/s | 1.8 KiB | 00m00s [134/185] Installing xxhash-libs-0:0.8. 100% | 89.4 MiB/s | 91.6 KiB | 00m00s [135/185] Installing libbrotli-0:1.2.0- 100% | 282.4 MiB/s | 867.7 KiB | 00m00s [136/185] Installing libnghttp2-0:1.68. 100% | 159.5 MiB/s | 163.4 KiB | 00m00s [137/185] Installing libnghttp3-0:1.14. 100% | 152.9 MiB/s | 156.6 KiB | 00m00s [138/185] Installing keyutils-libs-0:1. 100% | 0.0 B/s | 55.7 KiB | 00m00s [139/185] Installing libcom_err-0:1.47. 100% | 0.0 B/s | 64.2 KiB | 00m00s [140/185] Installing libverto-0:0.3.2-1 100% | 26.6 MiB/s | 27.2 KiB | 00m00s [141/185] Installing krb5-libs-0:1.21.3 100% | 328.4 MiB/s | 2.3 MiB | 00m00s [142/185] Installing libssh-0:0.11.3-1. 100% | 277.9 MiB/s | 569.2 KiB | 00m00s [143/185] Installing libcurl-0:8.18.0-1 100% | 331.4 MiB/s | 1.0 MiB | 00m00s [144/185] Installing curl-0:8.18.0-1.fc 100% | 22.4 MiB/s | 482.6 KiB | 00m00s [145/185] Installing rpm-0:6.0.1-1.fc44 100% | 79.7 MiB/s | 2.6 MiB | 00m00s [146/185] Installing cmake-srpm-macros- 100% | 0.0 B/s | 804.0 B | 00m00s [147/185] Installing efi-srpm-macros-0: 100% | 0.0 B/s | 41.2 KiB | 00m00s [148/185] Installing java-srpm-macros-0 100% | 0.0 B/s | 1.1 KiB | 00m00s [149/185] Installing lua-srpm-macros-0: 100% | 0.0 B/s | 1.9 KiB | 00m00s [150/185] Installing tree-sitter-srpm-m 100% | 0.0 B/s | 9.3 KiB | 00m00s [151/185] Installing zig-srpm-macros-0: 100% | 0.0 B/s | 1.9 KiB | 00m00s [152/185] Installing filesystem-srpm-ma 100% | 0.0 B/s | 38.9 KiB | 00m00s [153/185] Installing elfutils-default-y 100% | 408.6 KiB/s | 2.0 KiB | 00m00s [154/185] Installing elfutils-libs-0:0. 100% | 224.4 MiB/s | 689.3 KiB | 00m00s [155/185] Installing elfutils-debuginfo 100% | 6.5 MiB/s | 86.3 KiB | 00m00s [156/185] Installing elfutils-0:0.194-2 100% | 162.8 MiB/s | 2.9 MiB | 00m00s [157/185] Installing binutils-0:2.45.50 100% | 342.6 MiB/s | 27.1 MiB | 00m00s [158/185] Installing gdb-minimal-0:17.1 100% | 298.6 MiB/s | 14.3 MiB | 00m00s [159/185] Installing debugedit-0:5.2-3. 100% | 17.7 MiB/s | 217.3 KiB | 00m00s [160/185] Installing rpm-build-libs-0:6 100% | 259.0 MiB/s | 265.2 KiB | 00m00s [161/185] Installing rust-srpm-macros-0 100% | 0.0 B/s | 6.4 KiB | 00m00s [162/185] Installing qt6-srpm-macros-0: 100% | 0.0 B/s | 740.0 B | 00m00s [163/185] Installing qt5-srpm-macros-0: 100% | 0.0 B/s | 776.0 B | 00m00s [164/185] Installing perl-srpm-macros-0 100% | 0.0 B/s | 1.1 KiB | 00m00s [165/185] Installing package-notes-srpm 100% | 0.0 B/s | 2.0 KiB | 00m00s [166/185] Installing openblas-srpm-macr 100% | 0.0 B/s | 392.0 B | 00m00s [167/185] Installing ocaml-srpm-macros- 100% | 0.0 B/s | 2.1 KiB | 00m00s [168/185] Installing kernel-srpm-macros 100% | 0.0 B/s | 2.3 KiB | 00m00s [169/185] Installing gnat-srpm-macros-0 100% | 0.0 B/s | 1.3 KiB | 00m00s [170/185] Installing ghc-srpm-macros-0: 100% | 0.0 B/s | 1.0 KiB | 00m00s [171/185] Installing gap-srpm-macros-0: 100% | 0.0 B/s | 2.7 KiB | 00m00s [172/185] Installing fpc-srpm-macros-0: 100% | 0.0 B/s | 420.0 B | 00m00s [173/185] Installing ansible-srpm-macro 100% | 0.0 B/s | 36.2 KiB | 00m00s [174/185] Installing redhat-rpm-config- 100% | 185.4 MiB/s | 189.9 KiB | 00m00s [175/185] Installing forge-srpm-macros- 100% | 7.9 MiB/s | 40.3 KiB | 00m00s [176/185] Installing fonts-srpm-macros- 100% | 0.0 B/s | 57.0 KiB | 00m00s [177/185] Installing go-srpm-macros-0:3 100% | 61.6 MiB/s | 63.0 KiB | 00m00s [178/185] Installing rpm-build-0:6.0.1- 100% | 20.7 MiB/s | 296.6 KiB | 00m00s [179/185] Installing pyproject-srpm-mac 100% | 0.0 B/s | 2.5 KiB | 00m00s [180/185] Installing R-srpm-macros-0:1. 100% | 0.0 B/s | 4.2 KiB | 00m00s [181/185] Installing python-srpm-macros 100% | 0.0 B/s | 52.9 KiB | 00m00s [182/185] Installing rpm-plugin-selinux 100% | 0.0 B/s | 13.0 KiB | 00m00s [183/185] Installing which-0:2.23-3.fc4 100% | 6.4 MiB/s | 85.7 KiB | 00m00s [184/185] Installing shadow-utils-2:4.1 100% | 147.1 MiB/s | 4.0 MiB | 00m00s [185/185] Installing info-0:7.2-7.fc44. 100% | 57.7 KiB/s | 358.3 KiB | 00m06s 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.3-1.fc44.noarch add-determinism-0.7.2-2.fc44.x86_64 alternatives-1.33-3.fc44.x86_64 ansible-srpm-macros-1-18.1.fc43.noarch audit-libs-4.1.2-2.fc44.x86_64 bash-5.3.9-1.fc44.x86_64 binutils-2.45.50-9.fc44.x86_64 build-reproducibility-srpm-macros-0.7.2-2.fc44.noarch bzip2-1.0.8-21.fc43.x86_64 bzip2-libs-1.0.8-21.fc43.x86_64 ca-certificates-2025.2.80_v9.0.304-2.fc44.noarch cmake-srpm-macros-3.31.10-3.fc44.noarch coreutils-9.9-1.fc44.x86_64 coreutils-common-9.9-1.fc44.x86_64 cpio-2.15-6.fc43.x86_64 crypto-policies-20251128-1.git19878fe.fc44.noarch curl-8.18.0-1.fc44.x86_64 cyrus-sasl-lib-2.1.28-33.fc44.x86_64 debugedit-5.2-3.fc44.x86_64 diffutils-3.12-3.fc43.x86_64 dwz-0.16-2.fc43.x86_64 ed-1.22.4-1.fc44.x86_64 efi-srpm-macros-6-5.fc44.noarch elfutils-0.194-2.fc44.x86_64 elfutils-debuginfod-client-0.194-2.fc44.x86_64 elfutils-default-yama-scope-0.194-2.fc44.noarch elfutils-libelf-0.194-2.fc44.x86_64 elfutils-libs-0.194-2.fc44.x86_64 fedora-gpg-keys-44-0.1.noarch fedora-release-44-0.10.noarch fedora-release-common-44-0.10.noarch fedora-release-identity-basic-44-0.10.noarch fedora-repos-44-0.1.noarch fedora-repos-rawhide-44-0.1.noarch file-5.46-8.fc44.x86_64 file-libs-5.46-8.fc44.x86_64 filesystem-3.18-50.fc43.x86_64 filesystem-srpm-macros-3.18-50.fc43.noarch findutils-4.10.0-6.fc43.x86_64 fonts-srpm-macros-5.0.0-1.fc44.noarch forge-srpm-macros-0.4.0-3.fc43.noarch fpc-srpm-macros-1.3-15.fc43.noarch gap-srpm-macros-2-1.fc44.noarch gawk-5.3.2-2.fc43.x86_64 gdb-minimal-17.1-1.fc44.x86_64 gdbm-libs-1.23-10.fc43.x86_64 ghc-srpm-macros-1.9.2-3.fc43.noarch glibc-2.42.9000-17.fc44.x86_64 glibc-common-2.42.9000-17.fc44.x86_64 glibc-gconv-extra-2.42.9000-17.fc44.x86_64 glibc-minimal-langpack-2.42.9000-17.fc44.x86_64 gmp-6.3.0-4.fc44.x86_64 gnat-srpm-macros-7-1.fc44.noarch gnulib-l10n-20241231-1.fc44.noarch gnupg2-2.4.9-1.fc44.x86_64 gnupg2-dirmngr-2.4.9-1.fc44.x86_64 gnupg2-gpg-agent-2.4.9-1.fc44.x86_64 gnupg2-gpgconf-2.4.9-1.fc44.x86_64 gnupg2-keyboxd-2.4.9-1.fc44.x86_64 gnupg2-verify-2.4.9-1.fc44.x86_64 gnutls-3.8.11-6.fc44.x86_64 go-srpm-macros-3.8.0-1.fc44.noarch gpg-pubkey-36f612dcf27f7d1a48a835e4dbfcf71c6d9f90a6-6786af3b gpg-pubkey-4f50a6114cd5c6976a7f1179655a4b02f577861e-6888bc98 gpg-pubkey-c6e7f081cf80e13146676e88829b606631645531-66b6dccf gpgverify-2.2-3.fc43.noarch grep-3.12-2.fc43.x86_64 gzip-1.14-1.fc44.x86_64 ima-evm-utils-libs-1.6.2-7.fc44.x86_64 info-7.2-7.fc44.x86_64 jansson-2.14-3.fc43.x86_64 java-srpm-macros-1-7.fc43.noarch json-c-0.18-7.fc43.x86_64 kernel-srpm-macros-1.0-27.fc43.noarch keyutils-libs-1.6.3-6.fc43.x86_64 krb5-libs-1.21.3-11.fc44.x86_64 libacl-2.3.2-4.fc43.x86_64 libarchive-3.8.4-1.fc44.x86_64 libassuan-2.5.7-4.fc43.x86_64 libatomic-16.0.0-0.4.fc44.x86_64 libattr-2.5.2-6.fc43.x86_64 libblkid-2.41.3-8.fc44.x86_64 libbrotli-1.2.0-1.fc44.x86_64 libcap-2.77-1.fc44.x86_64 libcap-ng-0.8.5-8.fc44.x86_64 libcom_err-1.47.3-3.fc44.x86_64 libcurl-8.18.0-1.fc44.x86_64 libeconf-0.7.9-2.fc43.x86_64 libevent-2.1.12-16.fc43.x86_64 libfdisk-2.41.3-8.fc44.x86_64 libffi-3.5.2-1.fc44.x86_64 libfsverity-1.6-3.fc43.x86_64 libgcc-16.0.0-0.4.fc44.x86_64 libgcrypt-1.11.2-1.fc44.x86_64 libgomp-16.0.0-0.4.fc44.x86_64 libgpg-error-1.58-1.fc44.x86_64 libidn2-2.3.8-2.fc43.x86_64 libksba-1.6.7-4.fc43.x86_64 liblastlog2-2.41.3-8.fc44.x86_64 libmount-2.41.3-8.fc44.x86_64 libnghttp2-1.68.0-2.fc44.x86_64 libnghttp3-1.14.0-1.fc44.x86_64 libpkgconf-2.3.0-3.fc43.x86_64 libpsl-0.21.5-6.fc43.x86_64 libselinux-3.9-6.fc44.x86_64 libselinux-utils-3.9-6.fc44.x86_64 libsemanage-3.9-4.fc44.x86_64 libsepol-3.9-2.fc43.x86_64 libsmartcols-2.41.3-8.fc44.x86_64 libssh-0.11.3-1.fc44.x86_64 libssh-config-0.11.3-1.fc44.noarch libstdc++-16.0.0-0.4.fc44.x86_64 libtasn1-4.20.0-2.fc43.x86_64 libtool-ltdl-2.5.4-9.fc44.x86_64 libunistring-1.1-10.fc43.x86_64 libusb1-1.0.29-4.fc44.x86_64 libuuid-2.41.3-8.fc44.x86_64 libverto-0.3.2-11.fc43.x86_64 libxcrypt-4.5.2-2.fc44.x86_64 libxml2-2.12.10-5.fc44.x86_64 libzstd-1.5.7-3.fc44.x86_64 linkdupes-0.7.2-2.fc44.x86_64 lua-libs-5.4.8-4.fc44.x86_64 lua-srpm-macros-1-16.fc43.noarch lz4-libs-1.10.0-3.fc43.x86_64 mpfr-4.2.2-2.fc43.x86_64 ncurses-base-6.5-8.20250614.fc44.noarch ncurses-libs-6.5-8.20250614.fc44.x86_64 nettle-3.10.1-2.fc43.x86_64 ngtcp2-1.19.0-1.fc44.x86_64 ngtcp2-crypto-ossl-1.19.0-1.fc44.x86_64 npth-1.8-3.fc43.x86_64 ocaml-srpm-macros-11-2.fc43.noarch openblas-srpm-macros-2-20.fc43.noarch openldap-2.6.10-4.fc44.x86_64 openssl-libs-3.5.4-1.fc44.x86_64 p11-kit-0.25.8-1.fc44.x86_64 p11-kit-trust-0.25.8-1.fc44.x86_64 package-notes-srpm-macros-0.5-14.fc43.noarch pam-libs-1.7.1-4.fc44.x86_64 patch-2.8-3.fc44.x86_64 pcre2-10.47-1.fc44.x86_64 pcre2-syntax-10.47-1.fc44.noarch perl-srpm-macros-1-60.fc43.noarch pkgconf-2.3.0-3.fc43.x86_64 pkgconf-m4-2.3.0-3.fc43.noarch pkgconf-pkg-config-2.3.0-3.fc43.x86_64 policycoreutils-3.9-5.fc44.x86_64 popt-1.19-9.fc43.x86_64 publicsuffix-list-dafsa-20250616-2.fc43.noarch pyproject-srpm-macros-1.18.6-1.fc44.noarch python-srpm-macros-3.14-9.fc44.noarch qt5-srpm-macros-5.15.18-1.fc44.noarch qt6-srpm-macros-6.10.1-1.fc44.noarch readline-8.3-3.fc44.x86_64 redhat-rpm-config-343-19.fc44.noarch rpm-6.0.1-1.fc44.x86_64 rpm-build-6.0.1-1.fc44.x86_64 rpm-build-libs-6.0.1-1.fc44.x86_64 rpm-libs-6.0.1-1.fc44.x86_64 rpm-plugin-selinux-6.0.1-1.fc44.x86_64 rpm-sequoia-1.10.0-1.fc44.x86_64 rpm-sign-libs-6.0.1-1.fc44.x86_64 rust-srpm-macros-28.4-1.fc44.noarch sed-4.9-6.fc44.x86_64 selinux-policy-42.20-1.fc44.noarch selinux-policy-targeted-42.20-1.fc44.noarch setup-2.15.0-27.fc44.noarch shadow-utils-4.18.0-7.fc44.x86_64 sqlite-libs-3.51.0-1.fc44.x86_64 systemd-libs-259-1.fc44.x86_64 systemd-standalone-sysusers-259-1.fc44.x86_64 tar-1.35-6.fc43.x86_64 tpm2-tss-4.1.3-8.fc43.x86_64 tree-sitter-srpm-macros-0.4.2-1.fc43.noarch unzip-6.0-68.fc44.x86_64 util-linux-2.41.3-8.fc44.x86_64 util-linux-core-2.41.3-8.fc44.x86_64 which-2.23-3.fc43.x86_64 xxhash-libs-0.8.3-3.fc43.x86_64 xz-5.8.2-1.fc44.x86_64 xz-libs-5.8.2-1.fc44.x86_64 zig-srpm-macros-1-7.fc44.noarch zip-3.0-44.fc43.x86_64 zlib-ng-compat-2.3.2-2.fc44.x86_64 zstd-1.5.7-3.fc44.x86_64 Start: buildsrpm Start: rpmbuild -bs Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1768003200 Wrote: /builddir/build/SRPMS/btrfs-backup-ng-0.8.1-1.fc44.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-1768072122.867344/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-ccm2w1cz/btrfs-backup-ng/btrfs-backup-ng.spec) Config(child) 0 minutes 22 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/btrfs-backup-ng-0.8.1-1.fc44.src.rpm) Config(fedora-rawhide-x86_64) Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1768072122.867344/root. INFO: reusing tmpfs at /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1768072122.867344/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-1768072122.867344/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-1.fc44.x86_64 rpm-sequoia-1.10.0-1.fc44.x86_64 dnf5-5.3.0.0-4.fc44.x86_64 dnf5-plugins-5.3.0.0-4.fc44.x86_64 Finish: chroot init Start: build phase for btrfs-backup-ng-0.8.1-1.fc44.src.rpm Start: build setup for btrfs-backup-ng-0.8.1-1.fc44.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1768003200 Wrote: /builddir/build/SRPMS/btrfs-backup-ng-0.8.1-1.fc44.src.rpm Updating and loading repositories: Copr repository 100% | 15.9 KiB/s | 1.8 KiB | 00m00s fedora 100% | 134.9 KiB/s | 24.7 KiB | 00m00s Repositories loaded. Package Arch Version Repository Size Installing: python3-devel x86_64 0:3.14.2-1.fc44 fedora 1.9 MiB python3-pytest noarch 0:8.4.2-1.fc44 fedora 22.5 MiB python3-pytest-asyncio noarch 0:1.1.0-2.fc44 fedora 130.7 KiB Installing dependencies: expat x86_64 0:2.7.3-1.fc44 fedora 301.1 KiB mpdecimal x86_64 0:4.0.1-2.fc43 fedora 217.2 KiB pyproject-rpm-macros noarch 0:1.18.6-1.fc44 fedora 115.6 KiB python-pip-wheel noarch 0:25.3-1.fc44 fedora 1.2 MiB python-rpm-macros noarch 0:3.14-9.fc44 fedora 27.6 KiB python3 x86_64 0:3.14.2-1.fc44 fedora 28.9 KiB python3-iniconfig noarch 0:2.3.0-1.fc44 fedora 49.3 KiB python3-libs x86_64 0:3.14.2-1.fc44 fedora 43.1 MiB python3-packaging noarch 0:25.0-7.fc44 fedora 607.4 KiB python3-pluggy noarch 0:1.6.0-4.fc44 fedora 211.0 KiB python3-pygments noarch 0:2.19.1-7.fc44 fedora 11.3 MiB python3-rpm-generators noarch 0:14-13.fc43 fedora 81.7 KiB python3-rpm-macros noarch 0:3.14-9.fc44 fedora 6.5 KiB tzdata noarch 0:2025c-1.fc44 fedora 1.2 MiB Transaction Summary: Installing: 17 packages Total size of inbound packages is 18 MiB. Need to download 18 MiB. After this operation, 83 MiB extra will be used (install 83 MiB, remove 0 B). [ 1/17] python3-devel-0:3.14.2-1.fc44.x 100% | 25.0 MiB/s | 436.0 KiB | 00m00s [ 2/17] python3-iniconfig-0:2.3.0-1.fc4 100% | 8.5 MiB/s | 26.0 KiB | 00m00s [ 3/17] python3-packaging-0:25.0-7.fc44 100% | 31.5 MiB/s | 161.4 KiB | 00m00s [ 4/17] python3-pluggy-0:1.6.0-4.fc44.n 100% | 20.0 MiB/s | 61.6 KiB | 00m00s [ 5/17] python3-pytest-asyncio-0:1.1.0- 100% | 1.3 MiB/s | 41.0 KiB | 00m00s [ 6/17] python3-libs-0:3.14.2-1.fc44.x8 100% | 258.9 MiB/s | 9.8 MiB | 00m00s [ 7/17] expat-0:2.7.3-1.fc44.x86_64 100% | 39.0 MiB/s | 119.9 KiB | 00m00s [ 8/17] mpdecimal-0:4.0.1-2.fc43.x86_64 100% | 31.6 MiB/s | 97.1 KiB | 00m00s [ 9/17] python-pip-wheel-0:25.3-1.fc44. 100% | 161.6 MiB/s | 1.1 MiB | 00m00s [10/17] tzdata-0:2025c-1.fc44.noarch 100% | 139.5 MiB/s | 714.4 KiB | 00m00s [11/17] python3-0:3.14.2-1.fc44.x86_64 100% | 13.6 MiB/s | 27.8 KiB | 00m00s [12/17] pyproject-rpm-macros-0:1.18.6-1 100% | 21.8 MiB/s | 44.6 KiB | 00m00s [13/17] python-rpm-macros-0:3.14-9.fc44 100% | 9.6 MiB/s | 19.6 KiB | 00m00s [14/17] python3-rpm-generators-0:14-13. 100% | 13.9 MiB/s | 28.5 KiB | 00m00s [15/17] python3-rpm-macros-0:3.14-9.fc4 100% | 4.0 MiB/s | 12.2 KiB | 00m00s [16/17] python3-pytest-0:8.4.2-1.fc44.n 100% | 17.0 MiB/s | 2.3 MiB | 00m00s [17/17] python3-pygments-0:2.19.1-7.fc4 100% | 23.0 MiB/s | 2.7 MiB | 00m00s -------------------------------------------------------------------------------- [17/17] Total 100% | 118.8 MiB/s | 17.7 MiB | 00m00s Running transaction [ 1/19] Verify package files 100% | 283.0 B/s | 17.0 B | 00m00s [ 2/19] Prepare transaction 100% | 500.0 B/s | 17.0 B | 00m00s [ 3/19] Installing python-rpm-macros-0: 100% | 27.8 MiB/s | 28.5 KiB | 00m00s [ 4/19] Installing python3-rpm-macros-0 100% | 0.0 B/s | 6.8 KiB | 00m00s [ 5/19] Installing pyproject-rpm-macros 100% | 28.7 MiB/s | 117.5 KiB | 00m00s [ 6/19] Installing tzdata-0:2025c-1.fc4 100% | 50.4 MiB/s | 1.5 MiB | 00m00s [ 7/19] Installing python-pip-wheel-0:2 100% | 401.4 MiB/s | 1.2 MiB | 00m00s [ 8/19] Installing mpdecimal-0:4.0.1-2. 100% | 213.7 MiB/s | 218.8 KiB | 00m00s [ 9/19] Installing expat-0:2.7.3-1.fc44 100% | 16.4 MiB/s | 303.2 KiB | 00m00s [10/19] Installing python3-libs-0:3.14. 100% | 331.9 MiB/s | 43.5 MiB | 00m00s [11/19] Installing python3-0:3.14.2-1.f 100% | 2.3 MiB/s | 30.6 KiB | 00m00s [12/19] Installing python3-packaging-0: 100% | 201.8 MiB/s | 619.9 KiB | 00m00s [13/19] Installing python3-rpm-generato 100% | 0.0 B/s | 82.9 KiB | 00m00s [14/19] Installing python3-iniconfig-0: 100% | 52.4 MiB/s | 53.7 KiB | 00m00s [15/19] Installing python3-pluggy-0:1.6 100% | 70.8 MiB/s | 217.5 KiB | 00m00s [16/19] Installing python3-pygments-0:2 100% | 225.2 MiB/s | 11.5 MiB | 00m00s [17/19] Installing python3-pytest-0:8.4 100% | 404.9 MiB/s | 22.7 MiB | 00m00s [18/19] Installing python3-pytest-async 100% | 65.8 MiB/s | 134.8 KiB | 00m00s [19/19] Installing python3-devel-0:3.14 100% | 53.9 MiB/s | 2.0 MiB | 00m00s Complete! Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1768003200 Wrote: /builddir/build/SRPMS/btrfs-backup-ng-0.8.1-1.fc44.src.rpm Updating and loading repositories: Copr repository 100% | 151.4 KiB/s | 1.8 KiB | 00m00s fedora 100% | 357.9 KiB/s | 24.7 KiB | 00m00s Repositories loaded. Nothing to do. Package "python3-devel-3.14.2-1.fc44.x86_64" is already installed. Package "python3-pytest-8.4.2-1.fc44.noarch" is already installed. Package "python3-pytest-asyncio-1.1.0-2.fc44.noarch" is already installed. Finish: build setup for btrfs-backup-ng-0.8.1-1.fc44.src.rpm Start: rpmbuild btrfs-backup-ng-0.8.1-1.fc44.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1768003200 Executing(%mkbuilddir): /bin/sh -e /var/tmp/rpm-tmp.uYWW4N Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.yKu3Gs + umask 022 + cd /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build + cd /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build + rm -rf btrfs_backup_ng-0.8.1 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/btrfs_backup_ng-0.8.1.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd btrfs_backup_ng-0.8.1 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.FrnlZD + umask 022 + cd /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build + cd btrfs_backup_ng-0.8.1 + 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/btrfs-backup-ng-0.8.1-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/btrfs-backup-ng-0.8.1-build/.pyproject-builddir + RPM_TOXENV=py314 + FEDORA=44 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/pyproject-wheeldir --output /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/btrfs-backup-ng-0.8.1-1.fc44.x86_64-pyproject-buildrequires Handling setuptools>=61.0 from build-system.requires Requirement not satisfied: setuptools>=61.0 Exiting dependency generation pass: build backend + cat /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/btrfs-backup-ng-0.8.1-1.fc44.x86_64-pyproject-buildrequires + rm -rfv '*.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/btrfs-backup-ng-0.8.1-1.fc44.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: Copr repository 100% | 151.4 KiB/s | 1.8 KiB | 00m00s fedora 100% | 205.8 KiB/s | 24.7 KiB | 00m00s Repositories loaded. Package "pyproject-rpm-macros-1.18.6-1.fc44.noarch" is already installed. Package "python3-devel-3.14.2-1.fc44.x86_64" is already installed. Package "python3-pytest-8.4.2-1.fc44.noarch" is already installed. Package "python3-pytest-asyncio-1.1.0-2.fc44.noarch" is already installed. Package "python3-packaging-25.0-7.fc44.noarch" is already installed. 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). Package Arch Version Repository Size Installing: python3-pip noarch 0:25.3-1.fc44 fedora 11.2 MiB python3-setuptools noarch 0:80.9.0-2.fc44 fedora 8.6 MiB Transaction Summary: Installing: 2 packages [1/2] python3-setuptools-0:80.9.0-2.fc4 100% | 86.1 MiB/s | 2.0 MiB | 00m00s [2/2] python3-pip-0:25.3-1.fc44.noarch 100% | 100.9 MiB/s | 2.6 MiB | 00m00s -------------------------------------------------------------------------------- [2/2] Total 100% | 170.5 MiB/s | 4.6 MiB | 00m00s Running transaction [1/4] Verify package files 100% | 142.0 B/s | 2.0 B | 00m00s [2/4] Prepare transaction 100% | 100.0 B/s | 2.0 B | 00m00s [3/4] Installing python3-setuptools-0:8 100% | 231.2 MiB/s | 8.8 MiB | 00m00s [4/4] Installing python3-pip-0:25.3-1.f 100% | 164.1 MiB/s | 11.5 MiB | 00m00s Complete! Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1768003200 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.4EkobZ + umask 022 + cd /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build + cd btrfs_backup_ng-0.8.1 + 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/btrfs-backup-ng-0.8.1-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/btrfs-backup-ng-0.8.1-build/.pyproject-builddir + RPM_TOXENV=py314 + FEDORA=44 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/pyproject-wheeldir --output /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/btrfs-backup-ng-0.8.1-1.fc44.x86_64-pyproject-buildrequires Handling setuptools>=61.0 from build-system.requires Requirement satisfied: setuptools>=61.0 (installed: setuptools 80.9.0) /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated !! ******************************************************************************** Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). By 2026-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! corresp(dist, value, root_dir) running egg_info writing src/btrfs_backup_ng.egg-info/PKG-INFO writing dependency_links to src/btrfs_backup_ng.egg-info/dependency_links.txt writing entry points to src/btrfs_backup_ng.egg-info/entry_points.txt writing requirements to src/btrfs_backup_ng.egg-info/requires.txt writing top-level names to src/btrfs_backup_ng.egg-info/top_level.txt reading manifest file 'src/btrfs_backup_ng.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'config.example.toml' adding license file 'LICENSE' writing manifest file 'src/btrfs_backup_ng.egg-info/SOURCES.txt' running dist_info creating btrfs_backup_ng.egg-info writing btrfs_backup_ng.egg-info/PKG-INFO writing dependency_links to btrfs_backup_ng.egg-info/dependency_links.txt writing entry points to btrfs_backup_ng.egg-info/entry_points.txt writing requirements to btrfs_backup_ng.egg-info/requires.txt writing top-level names to btrfs_backup_ng.egg-info/top_level.txt writing manifest file 'btrfs_backup_ng.egg-info/SOURCES.txt' reading manifest file 'btrfs_backup_ng.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'config.example.toml' adding license file 'LICENSE' writing manifest file 'btrfs_backup_ng.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/btrfs_backup_ng-0.8.1/btrfs_backup_ng-0.8.1.dist-info' Handling filelock from hook generated metadata: Requires-Dist (btrfs-backup-ng) Requirement not satisfied: filelock Handling rich from hook generated metadata: Requires-Dist (btrfs-backup-ng) Requirement not satisfied: rich Handling paramiko from hook generated metadata: Requires-Dist (btrfs-backup-ng) Requirement not satisfied: paramiko Handling pytest>=7.0; extra == "test" from hook generated metadata: Requires-Dist (btrfs-backup-ng) Ignoring alien requirement: pytest>=7.0; extra == "test" Handling pytest-cov>=4.0; extra == "test" from hook generated metadata: Requires-Dist (btrfs-backup-ng) Ignoring alien requirement: pytest-cov>=4.0; extra == "test" Handling pytest-asyncio>=0.23.0; extra == "test" from hook generated metadata: Requires-Dist (btrfs-backup-ng) Ignoring alien requirement: pytest-asyncio>=0.23.0; extra == "test" Handling pytest>=7.0; extra == "dev" from hook generated metadata: Requires-Dist (btrfs-backup-ng) Ignoring alien requirement: pytest>=7.0; extra == "dev" Handling pytest-cov>=4.0; extra == "dev" from hook generated metadata: Requires-Dist (btrfs-backup-ng) Ignoring alien requirement: pytest-cov>=4.0; extra == "dev" Handling pytest-asyncio>=0.23.0; extra == "dev" from hook generated metadata: Requires-Dist (btrfs-backup-ng) Ignoring alien requirement: pytest-asyncio>=0.23.0; extra == "dev" Handling ruff>=0.1.0; extra == "dev" from hook generated metadata: Requires-Dist (btrfs-backup-ng) Ignoring alien requirement: ruff>=0.1.0; extra == "dev" Handling mypy>=1.0; extra == "dev" from hook generated metadata: Requires-Dist (btrfs-backup-ng) Ignoring alien requirement: mypy>=1.0; extra == "dev" Handling types-paramiko>=3.0; extra == "dev" from hook generated metadata: Requires-Dist (btrfs-backup-ng) Ignoring alien requirement: types-paramiko>=3.0; extra == "dev" + cat /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/btrfs-backup-ng-0.8.1-1.fc44.x86_64-pyproject-buildrequires + rm -rfv btrfs_backup_ng-0.8.1.dist-info/ removed 'btrfs_backup_ng-0.8.1.dist-info/licenses/LICENSE' removed directory 'btrfs_backup_ng-0.8.1.dist-info/licenses' removed 'btrfs_backup_ng-0.8.1.dist-info/METADATA' removed 'btrfs_backup_ng-0.8.1.dist-info/entry_points.txt' removed 'btrfs_backup_ng-0.8.1.dist-info/top_level.txt' removed directory 'btrfs_backup_ng-0.8.1.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/btrfs-backup-ng-0.8.1-1.fc44.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: Copr repository 100% | 165.2 KiB/s | 1.8 KiB | 00m00s fedora 100% | 82.3 KiB/s | 24.7 KiB | 00m00s Repositories loaded. Package "pyproject-rpm-macros-1.18.6-1.fc44.noarch" is already installed. Package "python3-devel-3.14.2-1.fc44.x86_64" is already installed. Package "python3-pytest-8.4.2-1.fc44.noarch" is already installed. Package "python3-pytest-asyncio-1.1.0-2.fc44.noarch" is already installed. Package "python3-packaging-25.0-7.fc44.noarch" is already installed. Package "python3-pip-25.3-1.fc44.noarch" is already installed. Package "python3-setuptools-80.9.0-2.fc44.noarch" is already installed. Package Arch Version Repository Size Installing: python3-filelock noarch 0:3.15.4-10.fc44 fedora 97.0 KiB python3-paramiko noarch 0:3.5.1-6.fc44 fedora 1.7 MiB python3-rich noarch 0:14.2.0-1.fc44 fedora 2.8 MiB Installing dependencies: libsodium x86_64 0:1.0.21-2.fc44 fedora 453.3 KiB python3-bcrypt x86_64 0:4.3.0-6.fc44 fedora 520.2 KiB python3-cffi x86_64 0:2.0.0-2.fc44 fedora 1.4 MiB python3-cryptography x86_64 0:45.0.4-5.fc44 fedora 5.4 MiB python3-markdown-it-py noarch 0:3.0.0-13.fc44 fedora 541.5 KiB python3-mdurl noarch 0:0.1.2-13.fc44 fedora 44.0 KiB python3-ply noarch 0:3.11-31.fc44 fedora 572.6 KiB python3-pycparser noarch 0:2.22-5.fc44 fedora 1.5 MiB python3-pynacl x86_64 0:1.5.0-18.fc44 fedora 650.2 KiB Transaction Summary: Installing: 12 packages Total size of inbound packages is 4 MiB. Need to download 4 MiB. After this operation, 16 MiB extra will be used (install 16 MiB, remove 0 B). [ 1/12] python3-filelock-0:3.15.4-10.fc 100% | 3.1 MiB/s | 44.9 KiB | 00m00s [ 2/12] python3-paramiko-0:3.5.1-6.fc44 100% | 9.9 MiB/s | 407.5 KiB | 00m00s [ 3/12] python3-cryptography-0:45.0.4-5 100% | 150.7 MiB/s | 1.5 MiB | 00m00s [ 4/12] python3-pynacl-0:1.5.0-18.fc44. 100% | 19.1 MiB/s | 156.1 KiB | 00m00s [ 5/12] python3-markdown-it-py-0:3.0.0- 100% | 22.4 MiB/s | 206.0 KiB | 00m00s [ 6/12] python3-cffi-0:2.0.0-2.fc44.x86 100% | 104.6 MiB/s | 321.4 KiB | 00m00s [ 7/12] libsodium-0:1.0.21-2.fc44.x86_6 100% | 48.8 MiB/s | 199.9 KiB | 00m00s [ 8/12] python3-mdurl-0:0.1.2-13.fc44.n 100% | 10.2 MiB/s | 31.3 KiB | 00m00s [ 9/12] python3-pycparser-0:2.22-5.fc44 100% | 53.6 MiB/s | 274.4 KiB | 00m00s [10/12] python3-ply-0:3.11-31.fc44.noar 100% | 26.7 MiB/s | 136.8 KiB | 00m00s [11/12] python3-bcrypt-0:4.3.0-6.fc44.x 100% | 3.0 MiB/s | 236.9 KiB | 00m00s [12/12] python3-rich-0:14.2.0-1.fc44.no 100% | 5.3 MiB/s | 623.7 KiB | 00m00s -------------------------------------------------------------------------------- [12/12] Total 100% | 35.2 MiB/s | 4.1 MiB | 00m00s Running transaction [ 1/14] Verify package files 100% | 923.0 B/s | 12.0 B | 00m00s [ 2/14] Prepare transaction 100% | 545.0 B/s | 12.0 B | 00m00s [ 3/14] Installing python3-ply-0:3.11-3 100% | 282.3 MiB/s | 578.1 KiB | 00m00s [ 4/14] Installing python3-pycparser-0: 100% | 376.3 MiB/s | 1.5 MiB | 00m00s [ 5/14] Installing python3-cffi-0:2.0.0 100% | 273.8 MiB/s | 1.4 MiB | 00m00s [ 6/14] Installing python3-cryptography 100% | 272.5 MiB/s | 5.5 MiB | 00m00s [ 7/14] Installing python3-mdurl-0:0.1. 100% | 48.3 MiB/s | 49.4 KiB | 00m00s [ 8/14] Installing python3-markdown-it- 100% | 35.7 MiB/s | 585.7 KiB | 00m00s [ 9/14] Installing libsodium-0:1.0.21-2 100% | 221.9 MiB/s | 454.5 KiB | 00m00s [10/14] Installing python3-pynacl-0:1.5 100% | 218.3 MiB/s | 670.6 KiB | 00m00s [11/14] Installing python3-bcrypt-0:4.3 100% | 255.8 MiB/s | 523.9 KiB | 00m00s [12/14] Installing python3-paramiko-0:3 100% | 285.6 MiB/s | 1.7 MiB | 00m00s [13/14] Installing python3-rich-0:14.2. 100% | 315.1 MiB/s | 2.8 MiB | 00m00s [14/14] Installing python3-filelock-0:3 100% | 8.5 MiB/s | 103.9 KiB | 00m00s Complete! Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1768003200 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.WcvrHi + umask 022 + cd /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build + cd btrfs_backup_ng-0.8.1 + 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/btrfs-backup-ng-0.8.1-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/btrfs-backup-ng-0.8.1-build/.pyproject-builddir + RPM_TOXENV=py314 + FEDORA=44 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/pyproject-wheeldir --output /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/btrfs-backup-ng-0.8.1-1.fc44.x86_64-pyproject-buildrequires Handling setuptools>=61.0 from build-system.requires Requirement satisfied: setuptools>=61.0 (installed: setuptools 80.9.0) /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated !! ******************************************************************************** Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). By 2026-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! corresp(dist, value, root_dir) running egg_info writing src/btrfs_backup_ng.egg-info/PKG-INFO writing dependency_links to src/btrfs_backup_ng.egg-info/dependency_links.txt writing entry points to src/btrfs_backup_ng.egg-info/entry_points.txt writing requirements to src/btrfs_backup_ng.egg-info/requires.txt writing top-level names to src/btrfs_backup_ng.egg-info/top_level.txt reading manifest file 'src/btrfs_backup_ng.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'config.example.toml' adding license file 'LICENSE' writing manifest file 'src/btrfs_backup_ng.egg-info/SOURCES.txt' running dist_info writing btrfs_backup_ng.egg-info/PKG-INFO writing dependency_links to btrfs_backup_ng.egg-info/dependency_links.txt writing entry points to btrfs_backup_ng.egg-info/entry_points.txt writing requirements to btrfs_backup_ng.egg-info/requires.txt writing top-level names to btrfs_backup_ng.egg-info/top_level.txt reading manifest file 'btrfs_backup_ng.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'config.example.toml' adding license file 'LICENSE' writing manifest file 'btrfs_backup_ng.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/btrfs_backup_ng-0.8.1/btrfs_backup_ng-0.8.1.dist-info' Handling filelock from hook generated metadata: Requires-Dist (btrfs-backup-ng) Requirement satisfied: filelock (installed: filelock 3.15.4) Handling rich from hook generated metadata: Requires-Dist (btrfs-backup-ng) Requirement satisfied: rich (installed: rich 14.2.0) Handling paramiko from hook generated metadata: Requires-Dist (btrfs-backup-ng) Requirement satisfied: paramiko (installed: paramiko 3.5.1) Handling pytest>=7.0; extra == "test" from hook generated metadata: Requires-Dist (btrfs-backup-ng) Ignoring alien requirement: pytest>=7.0; extra == "test" Handling pytest-cov>=4.0; extra == "test" from hook generated metadata: Requires-Dist (btrfs-backup-ng) Ignoring alien requirement: pytest-cov>=4.0; extra == "test" Handling pytest-asyncio>=0.23.0; extra == "test" from hook generated metadata: Requires-Dist (btrfs-backup-ng) Ignoring alien requirement: pytest-asyncio>=0.23.0; extra == "test" Handling pytest>=7.0; extra == "dev" from hook generated metadata: Requires-Dist (btrfs-backup-ng) Ignoring alien requirement: pytest>=7.0; extra == "dev" Handling pytest-cov>=4.0; extra == "dev" from hook generated metadata: Requires-Dist (btrfs-backup-ng) Ignoring alien requirement: pytest-cov>=4.0; extra == "dev" Handling pytest-asyncio>=0.23.0; extra == "dev" from hook generated metadata: Requires-Dist (btrfs-backup-ng) Ignoring alien requirement: pytest-asyncio>=0.23.0; extra == "dev" Handling ruff>=0.1.0; extra == "dev" from hook generated metadata: Requires-Dist (btrfs-backup-ng) Ignoring alien requirement: ruff>=0.1.0; extra == "dev" Handling mypy>=1.0; extra == "dev" from hook generated metadata: Requires-Dist (btrfs-backup-ng) Ignoring alien requirement: mypy>=1.0; extra == "dev" Handling types-paramiko>=3.0; extra == "dev" from hook generated metadata: Requires-Dist (btrfs-backup-ng) Ignoring alien requirement: types-paramiko>=3.0; extra == "dev" + cat /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/btrfs-backup-ng-0.8.1-1.fc44.x86_64-pyproject-buildrequires + rm -rfv btrfs_backup_ng-0.8.1.dist-info/ removed 'btrfs_backup_ng-0.8.1.dist-info/licenses/LICENSE' removed directory 'btrfs_backup_ng-0.8.1.dist-info/licenses' removed 'btrfs_backup_ng-0.8.1.dist-info/METADATA' removed 'btrfs_backup_ng-0.8.1.dist-info/top_level.txt' removed 'btrfs_backup_ng-0.8.1.dist-info/entry_points.txt' removed directory 'btrfs_backup_ng-0.8.1.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/btrfs-backup-ng-0.8.1-1.fc44.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: Copr repository 100% | 139.8 KiB/s | 1.8 KiB | 00m00s fedora 100% | 80.7 KiB/s | 24.7 KiB | 00m00s Repositories loaded. Package "pyproject-rpm-macros-1.18.6-1.fc44.noarch" is already installed. Package "python3-devel-3.14.2-1.fc44.x86_64" is already installed. Package "python3-pytest-8.4.2-1.fc44.noarch" is already installed. Package "python3-pytest-asyncio-1.1.0-2.fc44.noarch" is already installed. Package "python3-filelock-3.15.4-10.fc44.noarch" is already installed. Package "python3-packaging-25.0-7.fc44.noarch" is already installed. Package "python3-paramiko-3.5.1-6.fc44.noarch" is already installed. Package "python3-pip-25.3-1.fc44.noarch" is already installed. Package "python3-rich-14.2.0-1.fc44.noarch" is already installed. Package "python3-setuptools-80.9.0-2.fc44.noarch" is already installed. Nothing to do. Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1768003200 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.1nsUo2 + umask 022 + cd /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build + cd btrfs_backup_ng-0.8.1 + 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/btrfs-backup-ng-0.8.1-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/btrfs-backup-ng-0.8.1-build/.pyproject-builddir + RPM_TOXENV=py314 + FEDORA=44 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/pyproject-wheeldir --output /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/btrfs-backup-ng-0.8.1-1.fc44.x86_64-pyproject-buildrequires Handling setuptools>=61.0 from build-system.requires Requirement satisfied: setuptools>=61.0 (installed: setuptools 80.9.0) /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated !! ******************************************************************************** Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). By 2026-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! corresp(dist, value, root_dir) running egg_info writing src/btrfs_backup_ng.egg-info/PKG-INFO writing dependency_links to src/btrfs_backup_ng.egg-info/dependency_links.txt writing entry points to src/btrfs_backup_ng.egg-info/entry_points.txt writing requirements to src/btrfs_backup_ng.egg-info/requires.txt writing top-level names to src/btrfs_backup_ng.egg-info/top_level.txt reading manifest file 'src/btrfs_backup_ng.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'config.example.toml' adding license file 'LICENSE' writing manifest file 'src/btrfs_backup_ng.egg-info/SOURCES.txt' running dist_info writing btrfs_backup_ng.egg-info/PKG-INFO writing dependency_links to btrfs_backup_ng.egg-info/dependency_links.txt writing entry points to btrfs_backup_ng.egg-info/entry_points.txt writing requirements to btrfs_backup_ng.egg-info/requires.txt writing top-level names to btrfs_backup_ng.egg-info/top_level.txt reading manifest file 'btrfs_backup_ng.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'config.example.toml' adding license file 'LICENSE' writing manifest file 'btrfs_backup_ng.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/btrfs_backup_ng-0.8.1/btrfs_backup_ng-0.8.1.dist-info' Handling filelock from hook generated metadata: Requires-Dist (btrfs-backup-ng) Requirement satisfied: filelock (installed: filelock 3.15.4) Handling rich from hook generated metadata: Requires-Dist (btrfs-backup-ng) Requirement satisfied: rich (installed: rich 14.2.0) Handling paramiko from hook generated metadata: Requires-Dist (btrfs-backup-ng) Requirement satisfied: paramiko (installed: paramiko 3.5.1) Handling pytest>=7.0; extra == "test" from hook generated metadata: Requires-Dist (btrfs-backup-ng) Ignoring alien requirement: pytest>=7.0; extra == "test" Handling pytest-cov>=4.0; extra == "test" from hook generated metadata: Requires-Dist (btrfs-backup-ng) Ignoring alien requirement: pytest-cov>=4.0; extra == "test" Handling pytest-asyncio>=0.23.0; extra == "test" from hook generated metadata: Requires-Dist (btrfs-backup-ng) Ignoring alien requirement: pytest-asyncio>=0.23.0; extra == "test" Handling pytest>=7.0; extra == "dev" from hook generated metadata: Requires-Dist (btrfs-backup-ng) Ignoring alien requirement: pytest>=7.0; extra == "dev" Handling pytest-cov>=4.0; extra == "dev" from hook generated metadata: Requires-Dist (btrfs-backup-ng) Ignoring alien requirement: pytest-cov>=4.0; extra == "dev" Handling pytest-asyncio>=0.23.0; extra == "dev" from hook generated metadata: Requires-Dist (btrfs-backup-ng) Ignoring alien requirement: pytest-asyncio>=0.23.0; extra == "dev" Handling ruff>=0.1.0; extra == "dev" from hook generated metadata: Requires-Dist (btrfs-backup-ng) Ignoring alien requirement: ruff>=0.1.0; extra == "dev" Handling mypy>=1.0; extra == "dev" from hook generated metadata: Requires-Dist (btrfs-backup-ng) Ignoring alien requirement: mypy>=1.0; extra == "dev" Handling types-paramiko>=3.0; extra == "dev" from hook generated metadata: Requires-Dist (btrfs-backup-ng) Ignoring alien requirement: types-paramiko>=3.0; extra == "dev" + cat /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/btrfs-backup-ng-0.8.1-1.fc44.x86_64-pyproject-buildrequires + rm -rfv btrfs_backup_ng-0.8.1.dist-info/ removed 'btrfs_backup_ng-0.8.1.dist-info/licenses/LICENSE' removed directory 'btrfs_backup_ng-0.8.1.dist-info/licenses' removed 'btrfs_backup_ng-0.8.1.dist-info/METADATA' removed 'btrfs_backup_ng-0.8.1.dist-info/entry_points.txt' removed 'btrfs_backup_ng-0.8.1.dist-info/top_level.txt' removed directory 'btrfs_backup_ng-0.8.1.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.xuKGEo + umask 022 + cd /builddir/build/BUILD/btrfs-backup-ng-0.8.1-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 btrfs_backup_ng-0.8.1 + mkdir -p /builddir/build/BUILD/btrfs-backup-ng-0.8.1-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/btrfs-backup-ng-0.8.1-build/.pyproject-builddir + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_wheel.py /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/pyproject-wheeldir Processing /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/btrfs_backup_ng-0.8.1 Preparing metadata (pyproject.toml): started Running command Preparing metadata (pyproject.toml) /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated !! ******************************************************************************** Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). By 2026-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! corresp(dist, value, root_dir) running dist_info creating /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/.pyproject-builddir/pip-modern-metadata-7kq7ycyk/btrfs_backup_ng.egg-info writing /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/.pyproject-builddir/pip-modern-metadata-7kq7ycyk/btrfs_backup_ng.egg-info/PKG-INFO writing dependency_links to /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/.pyproject-builddir/pip-modern-metadata-7kq7ycyk/btrfs_backup_ng.egg-info/dependency_links.txt writing entry points to /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/.pyproject-builddir/pip-modern-metadata-7kq7ycyk/btrfs_backup_ng.egg-info/entry_points.txt writing requirements to /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/.pyproject-builddir/pip-modern-metadata-7kq7ycyk/btrfs_backup_ng.egg-info/requires.txt writing top-level names to /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/.pyproject-builddir/pip-modern-metadata-7kq7ycyk/btrfs_backup_ng.egg-info/top_level.txt writing manifest file '/builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/.pyproject-builddir/pip-modern-metadata-7kq7ycyk/btrfs_backup_ng.egg-info/SOURCES.txt' reading manifest file '/builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/.pyproject-builddir/pip-modern-metadata-7kq7ycyk/btrfs_backup_ng.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'config.example.toml' adding license file 'LICENSE' writing manifest file '/builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/.pyproject-builddir/pip-modern-metadata-7kq7ycyk/btrfs_backup_ng.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/.pyproject-builddir/pip-modern-metadata-7kq7ycyk/btrfs_backup_ng-0.8.1.dist-info' Preparing metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: btrfs-backup-ng Building wheel for btrfs-backup-ng (pyproject.toml): started Running command Building wheel for btrfs-backup-ng (pyproject.toml) /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated !! ******************************************************************************** Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). By 2026-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! corresp(dist, value, root_dir) running bdist_wheel running build running build_py creating build/lib/btrfs_backup_ng copying src/btrfs_backup_ng/transaction.py -> build/lib/btrfs_backup_ng copying src/btrfs_backup_ng/systemd_utils.py -> build/lib/btrfs_backup_ng copying src/btrfs_backup_ng/ssh_transfer.py -> build/lib/btrfs_backup_ng copying src/btrfs_backup_ng/retention.py -> build/lib/btrfs_backup_ng copying src/btrfs_backup_ng/notifications.py -> build/lib/btrfs_backup_ng copying src/btrfs_backup_ng/btrbk_import.py -> build/lib/btrfs_backup_ng copying src/btrfs_backup_ng/_legacy_main.py -> build/lib/btrfs_backup_ng copying src/btrfs_backup_ng/__util__.py -> build/lib/btrfs_backup_ng copying src/btrfs_backup_ng/__main__.py -> build/lib/btrfs_backup_ng copying src/btrfs_backup_ng/__logger__.py -> build/lib/btrfs_backup_ng copying src/btrfs_backup_ng/__init__.py -> build/lib/btrfs_backup_ng creating build/lib/btrfs_backup_ng/sshutil copying src/btrfs_backup_ng/sshutil/master.py -> build/lib/btrfs_backup_ng/sshutil copying src/btrfs_backup_ng/sshutil/diagnose.py -> build/lib/btrfs_backup_ng/sshutil creating build/lib/btrfs_backup_ng/snapper copying src/btrfs_backup_ng/snapper/snapshot.py -> build/lib/btrfs_backup_ng/snapper copying src/btrfs_backup_ng/snapper/scanner.py -> build/lib/btrfs_backup_ng/snapper copying src/btrfs_backup_ng/snapper/metadata.py -> build/lib/btrfs_backup_ng/snapper copying src/btrfs_backup_ng/snapper/__init__.py -> build/lib/btrfs_backup_ng/snapper creating build/lib/btrfs_backup_ng/endpoint copying src/btrfs_backup_ng/endpoint/ssh.py -> build/lib/btrfs_backup_ng/endpoint copying src/btrfs_backup_ng/endpoint/shell.py -> build/lib/btrfs_backup_ng/endpoint copying src/btrfs_backup_ng/endpoint/local.py -> build/lib/btrfs_backup_ng/endpoint copying src/btrfs_backup_ng/endpoint/common.py -> build/lib/btrfs_backup_ng/endpoint copying src/btrfs_backup_ng/endpoint/__init__.py -> build/lib/btrfs_backup_ng/endpoint creating build/lib/btrfs_backup_ng/detection copying src/btrfs_backup_ng/detection/scanner.py -> build/lib/btrfs_backup_ng/detection copying src/btrfs_backup_ng/detection/models.py -> build/lib/btrfs_backup_ng/detection copying src/btrfs_backup_ng/detection/classifier.py -> build/lib/btrfs_backup_ng/detection copying src/btrfs_backup_ng/detection/__init__.py -> build/lib/btrfs_backup_ng/detection creating build/lib/btrfs_backup_ng/core copying src/btrfs_backup_ng/core/verify.py -> build/lib/btrfs_backup_ng/core copying src/btrfs_backup_ng/core/transfer.py -> build/lib/btrfs_backup_ng/core copying src/btrfs_backup_ng/core/state.py -> build/lib/btrfs_backup_ng/core copying src/btrfs_backup_ng/core/space.py -> build/lib/btrfs_backup_ng/core copying src/btrfs_backup_ng/core/retry.py -> build/lib/btrfs_backup_ng/core copying src/btrfs_backup_ng/core/restore.py -> build/lib/btrfs_backup_ng/core copying src/btrfs_backup_ng/core/progress.py -> build/lib/btrfs_backup_ng/core copying src/btrfs_backup_ng/core/planning.py -> build/lib/btrfs_backup_ng/core copying src/btrfs_backup_ng/core/operations.py -> build/lib/btrfs_backup_ng/core copying src/btrfs_backup_ng/core/execution.py -> build/lib/btrfs_backup_ng/core copying src/btrfs_backup_ng/core/estimate.py -> build/lib/btrfs_backup_ng/core copying src/btrfs_backup_ng/core/errors.py -> build/lib/btrfs_backup_ng/core copying src/btrfs_backup_ng/core/doctor.py -> build/lib/btrfs_backup_ng/core copying src/btrfs_backup_ng/core/chunked_transfer.py -> build/lib/btrfs_backup_ng/core copying src/btrfs_backup_ng/core/__init__.py -> build/lib/btrfs_backup_ng/core creating build/lib/btrfs_backup_ng/config copying src/btrfs_backup_ng/config/schema.py -> build/lib/btrfs_backup_ng/config copying src/btrfs_backup_ng/config/loader.py -> build/lib/btrfs_backup_ng/config copying src/btrfs_backup_ng/config/__init__.py -> build/lib/btrfs_backup_ng/config creating build/lib/btrfs_backup_ng/cli copying src/btrfs_backup_ng/cli/wizard_utils.py -> build/lib/btrfs_backup_ng/cli copying src/btrfs_backup_ng/cli/verify.py -> build/lib/btrfs_backup_ng/cli copying src/btrfs_backup_ng/cli/transfers_cmd.py -> build/lib/btrfs_backup_ng/cli copying src/btrfs_backup_ng/cli/transfer.py -> build/lib/btrfs_backup_ng/cli copying src/btrfs_backup_ng/cli/status.py -> build/lib/btrfs_backup_ng/cli copying src/btrfs_backup_ng/cli/snapshot.py -> build/lib/btrfs_backup_ng/cli copying src/btrfs_backup_ng/cli/snapper_cmd.py -> build/lib/btrfs_backup_ng/cli copying src/btrfs_backup_ng/cli/run.py -> build/lib/btrfs_backup_ng/cli copying src/btrfs_backup_ng/cli/restore.py -> build/lib/btrfs_backup_ng/cli copying src/btrfs_backup_ng/cli/prune.py -> build/lib/btrfs_backup_ng/cli copying src/btrfs_backup_ng/cli/manpages.py -> build/lib/btrfs_backup_ng/cli copying src/btrfs_backup_ng/cli/list_cmd.py -> build/lib/btrfs_backup_ng/cli copying src/btrfs_backup_ng/cli/install.py -> build/lib/btrfs_backup_ng/cli copying src/btrfs_backup_ng/cli/estimate.py -> build/lib/btrfs_backup_ng/cli copying src/btrfs_backup_ng/cli/doctor.py -> build/lib/btrfs_backup_ng/cli copying src/btrfs_backup_ng/cli/dispatcher.py -> build/lib/btrfs_backup_ng/cli copying src/btrfs_backup_ng/cli/config_cmd.py -> build/lib/btrfs_backup_ng/cli copying src/btrfs_backup_ng/cli/completions.py -> build/lib/btrfs_backup_ng/cli copying src/btrfs_backup_ng/cli/common.py -> build/lib/btrfs_backup_ng/cli copying src/btrfs_backup_ng/cli/__init__.py -> build/lib/btrfs_backup_ng/cli running egg_info writing src/btrfs_backup_ng.egg-info/PKG-INFO writing dependency_links to src/btrfs_backup_ng.egg-info/dependency_links.txt writing entry points to src/btrfs_backup_ng.egg-info/entry_points.txt writing requirements to src/btrfs_backup_ng.egg-info/requires.txt writing top-level names to src/btrfs_backup_ng.egg-info/top_level.txt reading manifest file 'src/btrfs_backup_ng.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'config.example.toml' adding license file 'LICENSE' writing manifest file 'src/btrfs_backup_ng.egg-info/SOURCES.txt' copying src/btrfs_backup_ng/__util__.pyi -> build/lib/btrfs_backup_ng copying src/btrfs_backup_ng/endpoint/common.pyi -> build/lib/btrfs_backup_ng/endpoint installing to build/bdist.linux-x86_64/wheel running install running install_lib creating build/bdist.linux-x86_64/wheel creating build/bdist.linux-x86_64/wheel/btrfs_backup_ng copying build/lib/btrfs_backup_ng/__util__.pyi -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng creating build/bdist.linux-x86_64/wheel/btrfs_backup_ng/cli copying build/lib/btrfs_backup_ng/cli/__init__.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/cli copying build/lib/btrfs_backup_ng/cli/common.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/cli copying build/lib/btrfs_backup_ng/cli/completions.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/cli copying build/lib/btrfs_backup_ng/cli/config_cmd.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/cli copying build/lib/btrfs_backup_ng/cli/dispatcher.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/cli copying build/lib/btrfs_backup_ng/cli/doctor.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/cli copying build/lib/btrfs_backup_ng/cli/estimate.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/cli copying build/lib/btrfs_backup_ng/cli/install.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/cli copying build/lib/btrfs_backup_ng/cli/list_cmd.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/cli copying build/lib/btrfs_backup_ng/cli/manpages.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/cli copying build/lib/btrfs_backup_ng/cli/prune.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/cli copying build/lib/btrfs_backup_ng/cli/restore.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/cli copying build/lib/btrfs_backup_ng/cli/run.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/cli copying build/lib/btrfs_backup_ng/cli/snapper_cmd.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/cli copying build/lib/btrfs_backup_ng/cli/snapshot.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/cli copying build/lib/btrfs_backup_ng/cli/status.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/cli copying build/lib/btrfs_backup_ng/cli/transfer.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/cli copying build/lib/btrfs_backup_ng/cli/transfers_cmd.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/cli copying build/lib/btrfs_backup_ng/cli/verify.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/cli copying build/lib/btrfs_backup_ng/cli/wizard_utils.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/cli creating build/bdist.linux-x86_64/wheel/btrfs_backup_ng/config copying build/lib/btrfs_backup_ng/config/__init__.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/config copying build/lib/btrfs_backup_ng/config/loader.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/config copying build/lib/btrfs_backup_ng/config/schema.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/config creating build/bdist.linux-x86_64/wheel/btrfs_backup_ng/core copying build/lib/btrfs_backup_ng/core/__init__.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/core copying build/lib/btrfs_backup_ng/core/chunked_transfer.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/core copying build/lib/btrfs_backup_ng/core/doctor.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/core copying build/lib/btrfs_backup_ng/core/errors.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/core copying build/lib/btrfs_backup_ng/core/estimate.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/core copying build/lib/btrfs_backup_ng/core/execution.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/core copying build/lib/btrfs_backup_ng/core/operations.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/core copying build/lib/btrfs_backup_ng/core/planning.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/core copying build/lib/btrfs_backup_ng/core/progress.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/core copying build/lib/btrfs_backup_ng/core/restore.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/core copying build/lib/btrfs_backup_ng/core/retry.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/core copying build/lib/btrfs_backup_ng/core/space.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/core copying build/lib/btrfs_backup_ng/core/state.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/core copying build/lib/btrfs_backup_ng/core/transfer.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/core copying build/lib/btrfs_backup_ng/core/verify.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/core creating build/bdist.linux-x86_64/wheel/btrfs_backup_ng/detection copying build/lib/btrfs_backup_ng/detection/__init__.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/detection copying build/lib/btrfs_backup_ng/detection/classifier.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/detection copying build/lib/btrfs_backup_ng/detection/models.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/detection copying build/lib/btrfs_backup_ng/detection/scanner.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/detection creating build/bdist.linux-x86_64/wheel/btrfs_backup_ng/endpoint copying build/lib/btrfs_backup_ng/endpoint/common.pyi -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/endpoint copying build/lib/btrfs_backup_ng/endpoint/__init__.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/endpoint copying build/lib/btrfs_backup_ng/endpoint/common.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/endpoint copying build/lib/btrfs_backup_ng/endpoint/local.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/endpoint copying build/lib/btrfs_backup_ng/endpoint/shell.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/endpoint copying build/lib/btrfs_backup_ng/endpoint/ssh.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/endpoint creating build/bdist.linux-x86_64/wheel/btrfs_backup_ng/snapper copying build/lib/btrfs_backup_ng/snapper/__init__.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/snapper copying build/lib/btrfs_backup_ng/snapper/metadata.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/snapper copying build/lib/btrfs_backup_ng/snapper/scanner.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/snapper copying build/lib/btrfs_backup_ng/snapper/snapshot.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/snapper creating build/bdist.linux-x86_64/wheel/btrfs_backup_ng/sshutil copying build/lib/btrfs_backup_ng/sshutil/diagnose.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/sshutil copying build/lib/btrfs_backup_ng/sshutil/master.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng/sshutil copying build/lib/btrfs_backup_ng/__init__.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng copying build/lib/btrfs_backup_ng/__logger__.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng copying build/lib/btrfs_backup_ng/__main__.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng copying build/lib/btrfs_backup_ng/__util__.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng copying build/lib/btrfs_backup_ng/_legacy_main.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng copying build/lib/btrfs_backup_ng/btrbk_import.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng copying build/lib/btrfs_backup_ng/notifications.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng copying build/lib/btrfs_backup_ng/retention.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng copying build/lib/btrfs_backup_ng/ssh_transfer.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng copying build/lib/btrfs_backup_ng/systemd_utils.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng copying build/lib/btrfs_backup_ng/transaction.py -> build/bdist.linux-x86_64/wheel/./btrfs_backup_ng running install_egg_info Copying src/btrfs_backup_ng.egg-info to build/bdist.linux-x86_64/wheel/./btrfs_backup_ng-0.8.1-py3.14.egg-info running install_scripts creating build/bdist.linux-x86_64/wheel/btrfs_backup_ng-0.8.1.dist-info/WHEEL creating '/builddir/.cache/pip/wheels/f0/bd/5b/a74f631d08cfd2be6a1c287d7a2b3c27e96994e0fbb36b8797/tmpadbzsrz7/.tmp-bbickosw/btrfs_backup_ng-0.8.1-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it adding 'btrfs_backup_ng/__init__.py' adding 'btrfs_backup_ng/__logger__.py' adding 'btrfs_backup_ng/__main__.py' adding 'btrfs_backup_ng/__util__.py' adding 'btrfs_backup_ng/__util__.pyi' adding 'btrfs_backup_ng/_legacy_main.py' adding 'btrfs_backup_ng/btrbk_import.py' adding 'btrfs_backup_ng/notifications.py' adding 'btrfs_backup_ng/retention.py' adding 'btrfs_backup_ng/ssh_transfer.py' adding 'btrfs_backup_ng/systemd_utils.py' adding 'btrfs_backup_ng/transaction.py' adding 'btrfs_backup_ng/cli/__init__.py' adding 'btrfs_backup_ng/cli/common.py' adding 'btrfs_backup_ng/cli/completions.py' adding 'btrfs_backup_ng/cli/config_cmd.py' adding 'btrfs_backup_ng/cli/dispatcher.py' adding 'btrfs_backup_ng/cli/doctor.py' adding 'btrfs_backup_ng/cli/estimate.py' adding 'btrfs_backup_ng/cli/install.py' adding 'btrfs_backup_ng/cli/list_cmd.py' adding 'btrfs_backup_ng/cli/manpages.py' adding 'btrfs_backup_ng/cli/prune.py' adding 'btrfs_backup_ng/cli/restore.py' adding 'btrfs_backup_ng/cli/run.py' adding 'btrfs_backup_ng/cli/snapper_cmd.py' adding 'btrfs_backup_ng/cli/snapshot.py' adding 'btrfs_backup_ng/cli/status.py' adding 'btrfs_backup_ng/cli/transfer.py' adding 'btrfs_backup_ng/cli/transfers_cmd.py' adding 'btrfs_backup_ng/cli/verify.py' adding 'btrfs_backup_ng/cli/wizard_utils.py' adding 'btrfs_backup_ng/config/__init__.py' adding 'btrfs_backup_ng/config/loader.py' adding 'btrfs_backup_ng/config/schema.py' adding 'btrfs_backup_ng/core/__init__.py' adding 'btrfs_backup_ng/core/chunked_transfer.py' adding 'btrfs_backup_ng/core/doctor.py' adding 'btrfs_backup_ng/core/errors.py' adding 'btrfs_backup_ng/core/estimate.py' adding 'btrfs_backup_ng/core/execution.py' adding 'btrfs_backup_ng/core/operations.py' adding 'btrfs_backup_ng/core/planning.py' adding 'btrfs_backup_ng/core/progress.py' adding 'btrfs_backup_ng/core/restore.py' adding 'btrfs_backup_ng/core/retry.py' adding 'btrfs_backup_ng/core/space.py' adding 'btrfs_backup_ng/core/state.py' adding 'btrfs_backup_ng/core/transfer.py' adding 'btrfs_backup_ng/core/verify.py' adding 'btrfs_backup_ng/detection/__init__.py' adding 'btrfs_backup_ng/detection/classifier.py' adding 'btrfs_backup_ng/detection/models.py' adding 'btrfs_backup_ng/detection/scanner.py' adding 'btrfs_backup_ng/endpoint/__init__.py' adding 'btrfs_backup_ng/endpoint/common.py' adding 'btrfs_backup_ng/endpoint/common.pyi' adding 'btrfs_backup_ng/endpoint/local.py' adding 'btrfs_backup_ng/endpoint/shell.py' adding 'btrfs_backup_ng/endpoint/ssh.py' adding 'btrfs_backup_ng/snapper/__init__.py' adding 'btrfs_backup_ng/snapper/metadata.py' adding 'btrfs_backup_ng/snapper/scanner.py' adding 'btrfs_backup_ng/snapper/snapshot.py' adding 'btrfs_backup_ng/sshutil/diagnose.py' adding 'btrfs_backup_ng/sshutil/master.py' adding 'btrfs_backup_ng-0.8.1.dist-info/licenses/LICENSE' adding 'btrfs_backup_ng-0.8.1.dist-info/METADATA' adding 'btrfs_backup_ng-0.8.1.dist-info/WHEEL' adding 'btrfs_backup_ng-0.8.1.dist-info/entry_points.txt' adding 'btrfs_backup_ng-0.8.1.dist-info/top_level.txt' adding 'btrfs_backup_ng-0.8.1.dist-info/RECORD' removing build/bdist.linux-x86_64/wheel Building wheel for btrfs-backup-ng (pyproject.toml): finished with status 'done' Created wheel for btrfs-backup-ng: filename=btrfs_backup_ng-0.8.1-py3-none-any.whl size=290844 sha256=27cfe002f49b8892db0553f6bc5a48c04a76bb5ffb1978acfe364b2206e1cdb2 Stored in directory: /builddir/.cache/pip/wheels/f0/bd/5b/a74f631d08cfd2be6a1c287d7a2b3c27e96994e0fbb36b8797 Successfully built btrfs-backup-ng + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.BqJ6Zt + umask 022 + cd /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build + '[' /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT '!=' / ']' + rm -rf /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT ++ dirname /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT + mkdir -p /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build + mkdir /builddir/build/BUILD/btrfs-backup-ng-0.8.1-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 btrfs_backup_ng-0.8.1 ++ ls /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/pyproject-wheeldir/btrfs_backup_ng-0.8.1-py3-none-any.whl ++ xargs basename --multiple ++ sed -E 's/([^-]+)-([^-]+)-.+\.whl/\1==\2/' + specifier=btrfs_backup_ng==0.8.1 + '[' -z btrfs_backup_ng==0.8.1 ']' + TMPDIR=/builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/.pyproject-builddir + /usr/bin/python3 -m pip install --root /builddir/build/BUILD/btrfs-backup-ng-0.8.1-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/btrfs-backup-ng-0.8.1-build/pyproject-wheeldir btrfs_backup_ng==0.8.1 Using pip 25.3 from /usr/lib/python3.14/site-packages/pip (python 3.14) Looking in links: /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/pyproject-wheeldir Processing /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/pyproject-wheeldir/btrfs_backup_ng-0.8.1-py3-none-any.whl Installing collected packages: btrfs_backup_ng Creating /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/bin changing mode of /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/bin/btrfs-backup-ng to 755 Successfully installed btrfs_backup_ng-0.8.1 + '[' -d /builddir/build/BUILD/btrfs-backup-ng-0.8.1-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/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/bin/btrfs-backup-ng /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/bin/btrfs-backup-ng: updating + rm -rfv /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/bin/__pycache__ + rm -f /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/btrfs-backup-ng-0.8.1-1.fc44.x86_64-pyproject-ghost-distinfo + site_dirs=() + '[' -d /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages ']' + site_dirs+=("/usr/lib/python3.14/site-packages") + '[' /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib64/python3.14/site-packages '!=' /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages ']' + '[' -d /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib64/python3.14/site-packages ']' + for site_dir in ${site_dirs[@]} + for distinfo in /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT$site_dir/*.dist-info + echo '%ghost %dir /usr/lib/python3.14/site-packages/btrfs_backup_ng-0.8.1.dist-info' + sed -i s/pip/rpm/ /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng-0.8.1.dist-info/INSTALLER + PYTHONPATH=/usr/lib/rpm/redhat + /usr/bin/python3 -B /usr/lib/rpm/redhat/pyproject_preprocess_record.py --buildroot /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT --record /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng-0.8.1.dist-info/RECORD --output /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/btrfs-backup-ng-0.8.1-1.fc44.x86_64-pyproject-record + rm -fv /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng-0.8.1.dist-info/RECORD removed '/builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng-0.8.1.dist-info/RECORD' + rm -fv /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng-0.8.1.dist-info/REQUESTED removed '/builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng-0.8.1.dist-info/REQUESTED' ++ wc -l /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/btrfs-backup-ng-0.8.1-1.fc44.x86_64-pyproject-ghost-distinfo ++ cut -f1 '-d ' + lines=1 + '[' 1 -ne 1 ']' + RPM_FILES_ESCAPE=4.19 + /usr/bin/python3 /usr/lib/rpm/redhat/pyproject_save_files.py --output-files /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/btrfs-backup-ng-0.8.1-1.fc44.x86_64-pyproject-files --output-modules /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/btrfs-backup-ng-0.8.1-1.fc44.x86_64-pyproject-modules --buildroot /builddir/build/BUILD/btrfs-backup-ng-0.8.1-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/btrfs-backup-ng-0.8.1-build/btrfs-backup-ng-0.8.1-1.fc44.x86_64-pyproject-record --prefix /usr -l btrfs_backup_ng + install -d /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/share/man/man1 + install -m 0644 man/man1/btrfs-backup-ng-config.1 man/man1/btrfs-backup-ng-doctor.1 man/man1/btrfs-backup-ng-estimate.1 man/man1/btrfs-backup-ng-install.1 man/man1/btrfs-backup-ng-list.1 man/man1/btrfs-backup-ng-prune.1 man/man1/btrfs-backup-ng-restore.1 man/man1/btrfs-backup-ng-run.1 man/man1/btrfs-backup-ng-snapper.1 man/man1/btrfs-backup-ng-snapshot.1 man/man1/btrfs-backup-ng-status.1 man/man1/btrfs-backup-ng-transfer.1 man/man1/btrfs-backup-ng-verify.1 man/man1/btrfs-backup-ng.1 /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/share/man/man1 + install -d /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/share/bash-completions/completions + install -d /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/share/zsh/site-functions + install -d /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/share/fish/vendor_completions.d + install -m 0644 completions/btrfs-backup-ng.bash /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/share/bash-completions/completions/btrfs-backup-ng + install -m 0644 completions/btrfs-backup-ng.zsh /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/share/zsh/site-functions/_btrfs-backup-ng + install -m 0644 completions/btrfs-backup-ng.fish /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/share/fish/vendor_completions.d/btrfs-backup-ng.fish + /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 -j4 Bytecompiling .py files below /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14 using python3.14 + /usr/lib/rpm/redhat/brp-python-hardlink + /usr/bin/add-det --brp -j4 /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/__pycache__/transaction.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/__pycache__/ssh_transfer.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/__pycache__/retention.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/__pycache__/__util__.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/__pycache__/systemd_utils.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/__pycache__/_legacy_main.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/__pycache__/__main__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/__pycache__/notifications.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/__pycache__/__util__.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/__pycache__/btrbk_import.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/__pycache__/_legacy_main.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/__pycache__/__logger__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/sshutil/__pycache__/diagnose.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/snapper/__pycache__/snapshot.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/snapper/__pycache__/metadata.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/snapper/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/sshutil/__pycache__/master.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/snapper/__pycache__/scanner.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/endpoint/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/endpoint/__pycache__/shell.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/endpoint/__pycache__/local.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/detection/__pycache__/scanner.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/detection/__pycache__/models.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/endpoint/__pycache__/common.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/detection/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/detection/__pycache__/classifier.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/core/__pycache__/transfer.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/core/__pycache__/restore.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/core/__pycache__/execution.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/core/__pycache__/progress.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/core/__pycache__/verify.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/core/__pycache__/estimate.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/endpoint/__pycache__/ssh.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/core/__pycache__/planning.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/core/__pycache__/progress.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/core/__pycache__/state.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/core/__pycache__/errors.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/core/__pycache__/operations.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/core/__pycache__/space.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/core/__pycache__/chunked_transfer.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/core/__pycache__/doctor.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/core/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/core/__pycache__/retry.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/config/__pycache__/schema.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/config/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/core/__pycache__/operations.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/cli/__pycache__/transfer.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/config/__pycache__/loader.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/cli/__pycache__/status.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/cli/__pycache__/run.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/cli/__pycache__/snapshot.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/cli/__pycache__/dispatcher.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/cli/__pycache__/wizard_utils.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/cli/__pycache__/snapper_cmd.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/cli/__pycache__/restore.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/cli/__pycache__/verify.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/cli/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/cli/__pycache__/config_cmd.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/cli/__pycache__/list_cmd.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/cli/__pycache__/prune.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/cli/__pycache__/install.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/cli/__pycache__/transfers_cmd.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/cli/__pycache__/manpages.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/cli/__pycache__/completions.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/cli/__pycache__/estimate.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/cli/__pycache__/doctor.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/cli/__pycache__/common.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages/btrfs_backup_ng/endpoint/__pycache__/ssh.cpython-314.opt-1.pyc: replacing with normalized version Scanned 33 directories and 218 files, processed 83 inodes, 69 modified (10 replaced + 59 rewritten), 0 unsupported format, 0 errors + /usr/bin/linkdupes --brp /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr Scanned 32 directories and 218 files, considered 218 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.IQEz6G + umask 022 + cd /builddir/build/BUILD/btrfs-backup-ng-0.8.1-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 btrfs_backup_ng-0.8.1 + 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/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin + PYTHONPATH=/builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib64/python3.14/site-packages:/builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/lib/python3.14/site-packages + PYTHONDONTWRITEBYTECODE=1 + PYTEST_ADDOPTS=' --ignore=/builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/.pyproject-builddir' + PYTEST_XDIST_AUTO_NUM_WORKERS=4 + /usr/bin/pytest ============================= test session starts ============================== platform linux -- Python 3.14.2, pytest-8.4.2, pluggy-1.6.0 -- /usr/bin/python3 cachedir: .pytest_cache rootdir: /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/btrfs_backup_ng-0.8.1 configfile: pyproject.toml testpaths: tests plugins: asyncio-1.1.0 asyncio: mode=Mode.AUTO, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function collecting ... collected 1796 items / 34 deselected / 1762 selected tests/integration/test_chunked_operations.py::TestSendSnapshotChunkedOption::test_use_chunked_false_returns_none PASSED [ 0%] tests/integration/test_chunked_operations.py::TestSendSnapshotChunkedOption::test_use_chunked_true_creates_manager PASSED [ 0%] tests/integration/test_chunked_operations.py::TestSendSnapshotChunkedOption::test_use_chunked_with_provided_manager PASSED [ 0%] tests/integration/test_chunked_operations.py::TestDoChunkedTransfer::test_creates_manifest_for_new_transfer PASSED [ 0%] tests/integration/test_chunked_operations.py::TestDoChunkedTransfer::test_resume_transfer_continues_from_checkpoint PASSED [ 0%] tests/integration/test_chunked_operations.py::TestDoChunkedTransfer::test_ssh_endpoint_uses_ssh_transfer PASSED [ 0%] tests/integration/test_chunked_operations.py::TestTransferChunksLocal::test_pipes_chunks_to_receive PASSED [ 0%] tests/integration/test_chunked_operations.py::TestTransferChunksSSH::test_uses_receive_chunked_if_available PASSED [ 0%] tests/integration/test_chunked_operations.py::TestTransferChunksSSH::test_falls_back_to_streaming_receive PASSED [ 0%] tests/integration/test_chunked_operations.py::TestChunkedTransferEndToEnd::test_full_chunked_transfer_flow PASSED [ 0%] tests/integration/test_chunked_operations.py::TestChunkedTransferEndToEnd::test_chunked_transfer_with_parent PASSED [ 0%] tests/integration/test_cli_e2e.py::TestCLIArgumentParsing::test_parse_run_command PASSED [ 0%] tests/integration/test_cli_e2e.py::TestCLIArgumentParsing::test_parse_snapshot_command PASSED [ 0%] tests/integration/test_cli_e2e.py::TestCLIArgumentParsing::test_parse_transfer_command PASSED [ 0%] tests/integration/test_cli_e2e.py::TestCLIArgumentParsing::test_parse_prune_command PASSED [ 0%] tests/integration/test_cli_e2e.py::TestCLIArgumentParsing::test_parse_list_command PASSED [ 0%] tests/integration/test_cli_e2e.py::TestCLIArgumentParsing::test_parse_status_command PASSED [ 0%] tests/integration/test_cli_e2e.py::TestCLIArgumentParsing::test_parse_config_validate PASSED [ 1%] tests/integration/test_cli_e2e.py::TestCLIArgumentParsing::test_parse_config_init PASSED [ 1%] tests/integration/test_cli_e2e.py::TestCLIArgumentParsing::test_parse_config_import PASSED [ 1%] tests/integration/test_cli_e2e.py::TestCLIArgumentParsing::test_parse_install_command PASSED [ 1%] tests/integration/test_cli_e2e.py::TestCLIArgumentParsing::test_parse_install_oncalendar PASSED [ 1%] tests/integration/test_cli_e2e.py::TestCLIArgumentParsing::test_parse_version_flag PASSED [ 1%] tests/integration/test_cli_e2e.py::TestCLIArgumentParsing::test_parse_config_file_option PASSED [ 1%] tests/integration/test_cli_e2e.py::TestCLIArgumentParsing::test_parse_verbosity_options PASSED [ 1%] tests/integration/test_cli_e2e.py::TestLegacyModeDetection::test_legacy_mode_detection[argv0-True] PASSED [ 1%] tests/integration/test_cli_e2e.py::TestLegacyModeDetection::test_legacy_mode_detection[argv1-True] PASSED [ 1%] tests/integration/test_cli_e2e.py::TestLegacyModeDetection::test_legacy_mode_detection[argv2-True] PASSED [ 1%] tests/integration/test_cli_e2e.py::TestLegacyModeDetection::test_legacy_mode_detection[argv3-True] PASSED [ 1%] tests/integration/test_cli_e2e.py::TestLegacyModeDetection::test_legacy_mode_detection[argv4-False] PASSED [ 1%] tests/integration/test_cli_e2e.py::TestLegacyModeDetection::test_legacy_mode_detection[argv5-False] PASSED [ 1%] tests/integration/test_cli_e2e.py::TestLegacyModeDetection::test_legacy_mode_detection[argv6-False] PASSED [ 1%] tests/integration/test_cli_e2e.py::TestLegacyModeDetection::test_legacy_mode_detection[argv7-False] PASSED [ 1%] tests/integration/test_cli_e2e.py::TestLegacyModeDetection::test_legacy_mode_detection[argv8-False] PASSED [ 1%] tests/integration/test_cli_e2e.py::TestLegacyModeDetection::test_legacy_mode_detection[argv9-False] PASSED [ 1%] tests/integration/test_cli_e2e.py::TestLegacyModeDetection::test_legacy_mode_detection[argv10-False] PASSED [ 2%] tests/integration/test_cli_e2e.py::TestLegacyModeDetection::test_legacy_mode_detection[argv11-False] PASSED [ 2%] tests/integration/test_cli_e2e.py::TestLegacyModeDetection::test_legacy_mode_detection[argv12-False] PASSED [ 2%] tests/integration/test_cli_e2e.py::TestLegacyModeDetection::test_legacy_mode_detection[argv13-False] PASSED [ 2%] tests/integration/test_cli_e2e.py::TestMainEntryPoint::test_main_legacy_mode PASSED [ 2%] tests/integration/test_cli_e2e.py::TestMainEntryPoint::test_main_subcommand_mode PASSED [ 2%] tests/integration/test_cli_e2e.py::TestMainEntryPoint::test_main_version_flag PASSED [ 2%] tests/integration/test_cli_e2e.py::TestSubcommandExecution::test_run_command_execution PASSED [ 2%] tests/integration/test_cli_e2e.py::TestSubcommandExecution::test_snapshot_command_execution PASSED [ 2%] tests/integration/test_cli_e2e.py::TestSubcommandExecution::test_transfer_command_execution PASSED [ 2%] tests/integration/test_cli_e2e.py::TestSubcommandExecution::test_prune_command_execution PASSED [ 2%] tests/integration/test_cli_e2e.py::TestSubcommandExecution::test_list_command_execution PASSED [ 2%] tests/integration/test_cli_e2e.py::TestSubcommandExecution::test_status_command_execution PASSED [ 2%] tests/integration/test_cli_e2e.py::TestSubcommandExecution::test_config_command_execution PASSED [ 2%] tests/integration/test_cli_e2e.py::TestSubcommandExecution::test_install_command_execution PASSED [ 2%] tests/integration/test_cli_e2e.py::TestSubcommandExecution::test_uninstall_command_execution PASSED [ 2%] tests/integration/test_cli_e2e.py::TestSubcommandExecution::test_no_command_returns_error PASSED [ 2%] tests/integration/test_cli_e2e.py::TestSubcommandExecution::test_version_prints_and_exits PASSED [ 3%] tests/integration/test_cli_e2e.py::TestLegacyModeExecution::test_legacy_mode_calls_legacy_main PASSED [ 3%] tests/integration/test_cli_e2e.py::TestLegacyModeExecution::test_legacy_mode_returns_exit_code PASSED [ 3%] tests/integration/test_cli_e2e.py::TestMigrationNotice::test_notice_creates_marker_file PASSED [ 3%] tests/integration/test_cli_e2e.py::TestMigrationNotice::test_notice_not_shown_twice PASSED [ 3%] tests/integration/test_cli_e2e.py::TestCLIErrorHandling::test_unknown_command PASSED [ 3%] tests/integration/test_cli_e2e.py::TestCLIErrorHandling::test_invalid_compression_method PASSED [ 3%] tests/integration/test_cli_e2e.py::TestCLIErrorHandling::test_invalid_timer_option PASSED [ 3%] tests/integration/test_cli_e2e.py::TestCLIWithConfig::test_config_validate_with_file PASSED [ 3%] tests/integration/test_cli_e2e.py::TestCLIIntegrationScenarios::test_full_run_workflow PASSED [ 3%] tests/integration/test_cli_e2e.py::TestCLIIntegrationScenarios::test_prune_dry_run_workflow PASSED [ 3%] tests/integration/test_cli_e2e.py::TestCLIIntegrationScenarios::test_list_json_output_workflow PASSED [ 3%] tests/integration/test_config_flow.py::TestConfigLoadingFlow::test_load_and_validate_minimal_config PASSED [ 3%] tests/integration/test_config_flow.py::TestConfigLoadingFlow::test_load_full_config_with_all_options PASSED [ 3%] tests/integration/test_config_flow.py::TestConfigLoadingFlow::test_config_warnings_for_issues PASSED [ 3%] tests/integration/test_config_flow.py::TestConfigLoadingFlow::test_get_enabled_volumes PASSED [ 3%] tests/integration/test_config_flow.py::TestConfigLoadingFlow::test_effective_retention_inheritance PASSED [ 3%] tests/integration/test_config_flow.py::TestConfigToOperationPlanning::test_plan_snapshot_operations PASSED [ 3%] tests/integration/test_config_flow.py::TestConfigToOperationPlanning::test_plan_with_ssh_targets PASSED [ 4%] tests/integration/test_config_flow.py::TestConfigErrorHandling::test_missing_volume_path_error PASSED [ 4%] tests/integration/test_config_flow.py::TestConfigErrorHandling::test_missing_target_path_error PASSED [ 4%] tests/integration/test_config_flow.py::TestConfigErrorHandling::test_invalid_compression_method_error PASSED [ 4%] tests/integration/test_config_flow.py::TestConfigErrorHandling::test_invalid_toml_syntax_error PASSED [ 4%] tests/integration/test_endpoints.py::TestLocalEndpointOperations::test_endpoint_initialization PASSED [ 4%] tests/integration/test_endpoints.py::TestLocalEndpointOperations::test_endpoint_prepare_creates_directories PASSED [ 4%] tests/integration/test_endpoints.py::TestLocalEndpointOperations::test_endpoint_get_id PASSED [ 4%] tests/integration/test_endpoints.py::TestLocalEndpointOperations::test_list_snapshots_empty PASSED [ 4%] tests/integration/test_endpoints.py::TestLocalEndpointOperations::test_list_snapshots_with_prefix_matching PASSED [ 4%] tests/integration/test_endpoints.py::TestLocalEndpointOperations::test_snapshot_cache_behavior PASSED [ 4%] tests/integration/test_endpoints.py::TestEndpointSnapshotOperations::test_snapshot_command_building PASSED [ 4%] tests/integration/test_endpoints.py::TestEndpointSendReceiveOperations::test_build_send_command PASSED [ 4%] tests/integration/test_endpoints.py::TestEndpointSendReceiveOperations::test_build_send_command_with_parent PASSED [ 4%] tests/integration/test_endpoints.py::TestEndpointSendReceiveOperations::test_build_receive_command PASSED [ 4%] tests/integration/test_endpoints.py::TestEndpointDeletionOperations::test_build_deletion_commands PASSED [ 4%] tests/integration/test_endpoints.py::TestEndpointDeletionOperations::test_build_deletion_commands_with_convert_rw PASSED [ 4%] tests/integration/test_endpoints.py::TestEndpointDeletionOperations::test_delete_snapshots_skips_locked PASSED [ 4%] tests/integration/test_endpoints.py::TestEndpointLockOperations::test_lock_file_path PASSED [ 5%] tests/integration/test_endpoints.py::TestEndpointRemotePathHandling::test_normalize_path_remote_flag PASSED [ 5%] tests/integration/test_endpoints.py::TestEndpointRemotePathHandling::test_normalize_path_local_absolute PASSED [ 5%] tests/integration/test_endpoints.py::TestEndpointCommandExecution::test_adds_sudo_for_btrfs_commands PASSED [ 5%] tests/integration/test_endpoints.py::TestEndpointCommandExecution::test_no_sudo_for_root_user PASSED [ 5%] tests/integration/test_endpoints.py::TestEndpointErrorHandling::test_invalid_source_path PASSED [ 5%] tests/integration/test_endpoints.py::TestEndpointErrorHandling::test_prepare_without_btrfs_command PASSED [ 5%] tests/integration/test_endpoints.py::TestEndpointErrorHandling::test_prepare_fails_fs_check PASSED [ 5%] tests/integration/test_endpoints.py::TestEndpointErrorHandling::test_prepare_auto_mode_warns_but_continues PASSED [ 5%] tests/integration/test_endpoints.py::TestEndpointErrorHandling::test_prepare_skip_mode_no_checks PASSED [ 5%] tests/integration/test_retention_flow.py::TestRetentionPolicyApplication::test_full_retention_scenario_30_days PASSED [ 5%] tests/integration/test_retention_flow.py::TestRetentionPolicyApplication::test_retention_with_unparseable_timestamps PASSED [ 5%] tests/integration/test_retention_flow.py::TestRetentionPolicyApplication::test_retention_preserves_latest_always PASSED [ 5%] tests/integration/test_retention_flow.py::TestRetentionPolicyApplication::test_retention_all_within_min_period PASSED [ 5%] tests/integration/test_retention_flow.py::TestRetentionPolicyApplication::test_retention_bucket_selection PASSED [ 5%] tests/integration/test_retention_flow.py::TestRetentionPolicyApplication::test_retention_weekly_bucket PASSED [ 5%] tests/integration/test_retention_flow.py::TestRetentionPolicyApplication::test_retention_monthly_bucket PASSED [ 5%] tests/integration/test_retention_flow.py::TestRetentionWithRealSnapshots::test_retention_with_mock_snapshot_objects PASSED [ 6%] tests/integration/test_retention_flow.py::TestPruneFlowIntegration::test_prune_dry_run_reports_correctly PASSED [ 6%] tests/integration/test_retention_flow.py::TestPruneFlowIntegration::test_prune_executes_deletions PASSED [ 6%] tests/integration/test_retention_flow.py::TestRetentionConfigIntegration::test_retention_from_toml_config PASSED [ 6%] tests/integration/test_retention_flow.py::TestRetentionConfigIntegration::test_volume_retention_override PASSED [ 6%] tests/integration/test_retention_flow.py::TestTimestampExtraction::test_extract_timestamp_formats[home-20240115-143022-home--expected_date0] PASSED [ 6%] tests/integration/test_retention_flow.py::TestTimestampExtraction::test_extract_timestamp_formats[backup-20240101-000000-backup--expected_date1] PASSED [ 6%] tests/integration/test_retention_flow.py::TestTimestampExtraction::test_extract_timestamp_formats[test-20231231-235959-test--expected_date2] PASSED [ 6%] tests/integration/test_retention_flow.py::TestTimestampExtraction::test_extract_timestamp_formats[20240115-143022--expected_date3] PASSED [ 6%] tests/integration/test_retention_flow.py::TestTimestampExtraction::test_extract_timestamp_returns_none_for_invalid PASSED [ 6%] tests/integration/test_retention_flow.py::TestBucketKeyGeneration::test_hourly_bucket_key PASSED [ 6%] tests/integration/test_retention_flow.py::TestBucketKeyGeneration::test_daily_bucket_key PASSED [ 6%] tests/integration/test_retention_flow.py::TestBucketKeyGeneration::test_weekly_bucket_key PASSED [ 6%] tests/integration/test_retention_flow.py::TestBucketKeyGeneration::test_monthly_bucket_key PASSED [ 6%] tests/integration/test_retention_flow.py::TestBucketKeyGeneration::test_yearly_bucket_key PASSED [ 6%] tests/integration/test_retention_flow.py::TestDurationParsing::test_parse_duration[1d-1] PASSED [ 6%] tests/integration/test_retention_flow.py::TestDurationParsing::test_parse_duration[7d-7] PASSED [ 6%] tests/integration/test_retention_flow.py::TestDurationParsing::test_parse_duration[1w-7] PASSED [ 6%] tests/integration/test_retention_flow.py::TestDurationParsing::test_parse_duration[2w-14] PASSED [ 7%] tests/integration/test_retention_flow.py::TestDurationParsing::test_parse_duration[1M-30] PASSED [ 7%] tests/integration/test_retention_flow.py::TestDurationParsing::test_parse_duration[12M-360] PASSED [ 7%] tests/integration/test_retention_flow.py::TestDurationParsing::test_parse_duration[1y-365] PASSED [ 7%] tests/integration/test_retention_flow.py::TestDurationParsing::test_parse_duration_hours PASSED [ 7%] tests/integration/test_retention_flow.py::TestDurationParsing::test_parse_duration_minutes PASSED [ 7%] tests/integration/test_retention_flow.py::TestDurationParsing::test_parse_duration_invalid PASSED [ 7%] tests/test_btrbk_import.py::TestBtrbkLexer::test_tokenize_simple_option PASSED [ 7%] tests/test_btrbk_import.py::TestBtrbkLexer::test_tokenize_multi_value_option PASSED [ 7%] tests/test_btrbk_import.py::TestBtrbkLexer::test_tokenize_volume PASSED [ 7%] tests/test_btrbk_import.py::TestBtrbkLexer::test_tokenize_subvolume PASSED [ 7%] tests/test_btrbk_import.py::TestBtrbkLexer::test_tokenize_target PASSED [ 7%] tests/test_btrbk_import.py::TestBtrbkLexer::test_tokenize_ssh_target PASSED [ 7%] tests/test_btrbk_import.py::TestBtrbkLexer::test_tokenize_comment PASSED [ 7%] tests/test_btrbk_import.py::TestBtrbkLexer::test_tokenize_empty_lines PASSED [ 7%] tests/test_btrbk_import.py::TestBtrbkLexer::test_tokenize_indented_content PASSED [ 7%] tests/test_btrbk_import.py::TestBtrbkParser::test_parse_simple_config PASSED [ 7%] tests/test_btrbk_import.py::TestBtrbkParser::test_parse_volume_with_subvolumes PASSED [ 8%] tests/test_btrbk_import.py::TestBtrbkParser::test_parse_options_inheritance PASSED [ 8%] tests/test_btrbk_import.py::TestBtrbkParser::test_parse_target_options PASSED [ 8%] tests/test_btrbk_import.py::TestParseBtrbkRetention::test_parse_days PASSED [ 8%] tests/test_btrbk_import.py::TestParseBtrbkRetention::test_parse_weeks PASSED [ 8%] tests/test_btrbk_import.py::TestParseBtrbkRetention::test_parse_months PASSED [ 8%] tests/test_btrbk_import.py::TestParseBtrbkRetention::test_parse_combined PASSED [ 8%] tests/test_btrbk_import.py::TestParseBtrbkRetention::test_parse_hours PASSED [ 8%] tests/test_btrbk_import.py::TestParseBtrbkRetention::test_parse_years PASSED [ 8%] tests/test_btrbk_import.py::TestParseBtrbkRetention::test_parse_all PASSED [ 8%] tests/test_btrbk_import.py::TestParseBtrbkRetention::test_parse_none PASSED [ 8%] tests/test_btrbk_import.py::TestParseBtrbkRetention::test_parse_wildcard PASSED [ 8%] tests/test_btrbk_import.py::TestBtrbkLexerMore::test_tokenize_quoted_string PASSED [ 8%] tests/test_btrbk_import.py::TestBtrbkLexerMore::test_tokenize_single_quoted_string PASSED [ 8%] tests/test_btrbk_import.py::TestBtrbkLexerMore::test_tokenize_escaped_quote PASSED [ 8%] tests/test_btrbk_import.py::TestBtrbkLexerMore::test_tokenize_special_chars PASSED [ 8%] tests/test_btrbk_import.py::TestBtrbkParserMore::test_parse_missing_path_after_volume PASSED [ 8%] tests/test_btrbk_import.py::TestBtrbkParserMore::test_parse_missing_path_after_subvolume PASSED [ 8%] tests/test_btrbk_import.py::TestBtrbkParserMore::test_parse_missing_path_after_target PASSED [ 9%] tests/test_btrbk_import.py::TestBtrbkParserMore::test_parse_target_outside_section PASSED [ 9%] tests/test_btrbk_import.py::TestBtrbkParserMore::test_parse_subvolume_outside_volume PASSED [ 9%] tests/test_btrbk_import.py::TestImportBtrbkConfig::test_import_full_config PASSED [ 9%] tests/test_btrbk_import.py::TestImportBtrbkConfig::test_import_warns_about_subvolume_dot PASSED [ 9%] tests/test_btrbk_import.py::TestImportBtrbkConfig::test_import_warns_about_volume_root PASSED [ 9%] tests/test_btrbk_import.py::TestImportBtrbkConfig::test_import_converts_ssh_sudo PASSED [ 9%] tests/test_btrbk_import.py::TestImportBtrbkConfig::test_import_preserves_retention PASSED [ 9%] tests/test_btrbk_import.py::TestImportBtrbkConfig::test_import_nonexistent_file PASSED [ 9%] tests/test_btrbk_import.py::TestImportBtrbkConfig::test_import_scp_style_path PASSED [ 9%] tests/test_btrbk_import.py::TestImportBtrbkConfig::test_import_local_path_unchanged PASSED [ 9%] tests/test_btrbk_import.py::TestImportBtrbkConfig::test_import_timestamp_format_short PASSED [ 9%] tests/test_btrbk_import.py::TestImportBtrbkConfig::test_import_timestamp_format_long PASSED [ 9%] tests/test_btrbk_import.py::TestImportBtrbkConfig::test_import_timestamp_format_long_iso PASSED [ 9%] tests/test_btrbk_import.py::TestImportBtrbkConfig::test_import_timestamp_format_default PASSED [ 9%] tests/test_btrbk_import.py::TestImportBtrbkConfig::test_import_timestamp_format_unknown PASSED [ 9%] tests/test_chunked_transfer.py::TestChunkInfo::test_creation PASSED [ 9%] tests/test_chunked_transfer.py::TestChunkInfo::test_to_dict PASSED [ 9%] tests/test_chunked_transfer.py::TestChunkInfo::test_from_dict PASSED [ 10%] tests/test_chunked_transfer.py::TestTransferManifest::test_creation PASSED [ 10%] tests/test_chunked_transfer.py::TestTransferManifest::test_chunk_properties PASSED [ 10%] tests/test_chunked_transfer.py::TestTransferManifest::test_resume_point PASSED [ 10%] tests/test_chunked_transfer.py::TestTransferManifest::test_is_resumable PASSED [ 10%] tests/test_chunked_transfer.py::TestTransferManifest::test_serialization_round_trip PASSED [ 10%] tests/test_chunked_transfer.py::TestTransferManifest::test_save_and_load PASSED [ 10%] tests/test_chunked_transfer.py::TestTransferConfig::test_defaults PASSED [ 10%] tests/test_chunked_transfer.py::TestTransferConfig::test_chunk_size_bytes PASSED [ 10%] tests/test_chunked_transfer.py::TestTransferConfig::test_cache_dir PASSED [ 10%] tests/test_chunked_transfer.py::TestChunkedStreamWriter::test_write_chunks PASSED [ 10%] tests/test_chunked_transfer.py::TestChunkedStreamWriter::test_checksums_computed PASSED [ 10%] tests/test_chunked_transfer.py::TestChunkedStreamWriter::test_callback_called PASSED [ 10%] tests/test_chunked_transfer.py::TestChunkedStreamReader::test_read_chunks_in_order PASSED [ 10%] tests/test_chunked_transfer.py::TestChunkedStreamReader::test_verify_checksums PASSED [ 10%] tests/test_chunked_transfer.py::TestChunkedStreamReader::test_checksum_mismatch_raises PASSED [ 10%] tests/test_chunked_transfer.py::TestChunkedStreamReader::test_missing_chunk_raises PASSED [ 10%] tests/test_chunked_transfer.py::TestChunkedTransferManager::test_create_transfer PASSED [ 11%] tests/test_chunked_transfer.py::TestChunkedTransferManager::test_chunk_stream PASSED [ 11%] tests/test_chunked_transfer.py::TestChunkedTransferManager::test_get_incomplete_transfers PASSED [ 11%] tests/test_chunked_transfer.py::TestChunkedTransferManager::test_resume_transfer PASSED [ 11%] tests/test_chunked_transfer.py::TestChunkedTransferManager::test_resume_non_resumable_fails PASSED [ 11%] tests/test_chunked_transfer.py::TestChunkedTransferManager::test_mark_chunk_transferred PASSED [ 11%] tests/test_chunked_transfer.py::TestChunkedTransferManager::test_complete_transfer PASSED [ 11%] tests/test_chunked_transfer.py::TestChunkedTransferManager::test_cleanup_transfer PASSED [ 11%] tests/test_chunked_transfer.py::TestChunkedTransferManager::test_cleanup_in_progress_requires_force PASSED [ 11%] tests/test_chunked_transfer.py::TestEstimateChunkCount::test_exact_multiple PASSED [ 11%] tests/test_chunked_transfer.py::TestEstimateChunkCount::test_with_remainder PASSED [ 11%] tests/test_chunked_transfer.py::TestEstimateChunkCount::test_smaller_than_chunk PASSED [ 11%] tests/test_chunked_transfer.py::TestEstimateChunkCount::test_default_chunk_size PASSED [ 11%] tests/test_cli.py::TestIsLegacyMode::test_empty_argv_not_legacy PASSED [ 11%] tests/test_cli.py::TestIsLegacyMode::test_subcommand_not_legacy PASSED [ 11%] tests/test_cli.py::TestIsLegacyMode::test_absolute_path_is_legacy PASSED [ 11%] tests/test_cli.py::TestIsLegacyMode::test_relative_path_is_legacy PASSED [ 11%] tests/test_cli.py::TestIsLegacyMode::test_path_with_slash_is_legacy PASSED [ 11%] tests/test_cli.py::TestIsLegacyMode::test_ssh_url_not_legacy PASSED [ 12%] tests/test_cli.py::TestIsLegacyMode::test_help_flags_not_legacy PASSED [ 12%] tests/test_cli.py::TestIsLegacyMode::test_option_flags_not_legacy PASSED [ 12%] tests/test_cli.py::TestSubcommands::test_expected_subcommands PASSED [ 12%] tests/test_cli.py::TestSubcommands::test_subcommands_is_frozenset PASSED [ 12%] tests/test_cli.py::TestCreateSubcommandParser::test_parser_creation PASSED [ 12%] tests/test_cli.py::TestCreateSubcommandParser::test_parser_has_subparsers PASSED [ 12%] tests/test_cli.py::TestCreateSubcommandParser::test_run_command_options PASSED [ 12%] tests/test_cli.py::TestCreateSubcommandParser::test_snapshot_command_options PASSED [ 12%] tests/test_cli.py::TestCreateSubcommandParser::test_transfer_command_options PASSED [ 12%] tests/test_cli.py::TestCreateSubcommandParser::test_prune_command_options PASSED [ 12%] tests/test_cli.py::TestCreateSubcommandParser::test_list_command_options PASSED [ 12%] tests/test_cli.py::TestCreateSubcommandParser::test_config_subcommands PASSED [ 12%] tests/test_cli.py::TestCreateSubcommandParser::test_install_command_options PASSED [ 12%] tests/test_cli.py::TestCreateSubcommandParser::test_global_options PASSED [ 12%] tests/test_cli.py::TestCreateSubcommandParser::test_compression_choices PASSED [ 12%] tests/test_cli.py::TestCreateSubcommandParser::test_timer_choices PASSED [ 12%] tests/test_cli.py::TestCLIIntegration::test_legacy_mode_called PASSED [ 12%] tests/test_cli.py::TestCLIIntegration::test_subcommand_mode_called PASSED [ 13%] tests/test_cli.py::TestRunSubcommand::test_version_flag PASSED [ 13%] tests/test_cli.py::TestRunSubcommand::test_no_command PASSED [ 13%] tests/test_cli.py::TestRunSubcommand::test_unknown_command PASSED [ 13%] tests/test_cli.py::TestRunSubcommand::test_routes_to_run PASSED [ 13%] tests/test_cli.py::TestRunSubcommand::test_routes_to_snapshot PASSED [ 13%] tests/test_cli.py::TestRunSubcommand::test_routes_to_transfer PASSED [ 13%] tests/test_cli.py::TestRunSubcommand::test_routes_to_prune PASSED [ 13%] tests/test_cli.py::TestRunSubcommand::test_routes_to_list PASSED [ 13%] tests/test_cli.py::TestRunSubcommand::test_routes_to_status PASSED [ 13%] tests/test_cli.py::TestRunSubcommand::test_routes_to_config PASSED [ 13%] tests/test_cli.py::TestRunSubcommand::test_routes_to_install PASSED [ 13%] tests/test_cli.py::TestRunSubcommand::test_routes_to_uninstall PASSED [ 13%] tests/test_cli.py::TestShowMigrationNotice::test_creates_notice_file PASSED [ 13%] tests/test_cli.py::TestShowMigrationNotice::test_shows_notice_once PASSED [ 13%] tests/test_cli.py::TestShowMigrationNotice::test_handles_write_error PASSED [ 13%] tests/test_cli.py::TestMainFunction::test_default_argv PASSED [ 13%] tests/test_cli.py::TestMainFunction::test_returns_exit_code PASSED [ 14%] tests/test_cli.py::TestMainFunction::test_main_with_none_argv PASSED [ 14%] tests/test_cli.py::TestRunLegacyMode::test_calls_legacy_main PASSED [ 14%] tests/test_cli.py::TestRunLegacyMode::test_returns_legacy_exit_code PASSED [ 14%] tests/test_cli.py::TestCommandHandlers::test_cmd_run PASSED [ 14%] tests/test_cli.py::TestCommandHandlers::test_cmd_snapshot PASSED [ 14%] tests/test_cli.py::TestCommandHandlers::test_cmd_transfer PASSED [ 14%] tests/test_cli.py::TestCommandHandlers::test_cmd_prune PASSED [ 14%] tests/test_cli.py::TestCommandHandlers::test_cmd_list PASSED [ 14%] tests/test_cli.py::TestCommandHandlers::test_cmd_status PASSED [ 14%] tests/test_cli.py::TestCommandHandlers::test_cmd_config PASSED [ 14%] tests/test_cli.py::TestCommandHandlers::test_cmd_install PASSED [ 14%] tests/test_cli.py::TestCommandHandlers::test_cmd_uninstall PASSED [ 14%] tests/test_cli_common.py::TestCreateGlobalParser::test_returns_parser PASSED [ 14%] tests/test_cli_common.py::TestCreateGlobalParser::test_parser_has_no_help PASSED [ 14%] tests/test_cli_common.py::TestCreateGlobalParser::test_has_verbosity_args PASSED [ 14%] tests/test_cli_common.py::TestAddVerbosityArgs::test_adds_verbose PASSED [ 14%] tests/test_cli_common.py::TestAddVerbosityArgs::test_adds_quiet PASSED [ 14%] tests/test_cli_common.py::TestAddVerbosityArgs::test_adds_debug PASSED [ 15%] tests/test_cli_common.py::TestAddVerbosityArgs::test_short_verbose PASSED [ 15%] tests/test_cli_common.py::TestAddVerbosityArgs::test_short_quiet PASSED [ 15%] tests/test_cli_common.py::TestAddVerbosityArgs::test_defaults_are_false PASSED [ 15%] tests/test_cli_common.py::TestGetLogLevel::test_debug_flag PASSED [ 15%] tests/test_cli_common.py::TestGetLogLevel::test_quiet_flag PASSED [ 15%] tests/test_cli_common.py::TestGetLogLevel::test_verbose_flag PASSED [ 15%] tests/test_cli_common.py::TestGetLogLevel::test_no_flags PASSED [ 15%] tests/test_cli_common.py::TestGetLogLevel::test_debug_takes_precedence PASSED [ 15%] tests/test_cli_common.py::TestGetLogLevel::test_missing_attributes PASSED [ 15%] tests/test_cli_common.py::TestGetLogLevel::test_partial_attributes PASSED [ 15%] tests/test_cli_common.py::TestIsInteractive::test_is_interactive_tty PASSED [ 15%] tests/test_cli_common.py::TestIsInteractive::test_is_interactive_not_tty PASSED [ 15%] tests/test_cli_common.py::TestShouldShowProgress::test_explicit_progress_flag PASSED [ 15%] tests/test_cli_common.py::TestShouldShowProgress::test_explicit_no_progress_flag PASSED [ 15%] tests/test_cli_common.py::TestShouldShowProgress::test_quiet_mode_no_progress PASSED [ 15%] tests/test_cli_common.py::TestShouldShowProgress::test_auto_detect_tty PASSED [ 15%] tests/test_cli_common.py::TestShouldShowProgress::test_auto_detect_not_tty PASSED [ 16%] tests/test_cli_common.py::TestShouldShowProgress::test_missing_attributes PASSED [ 16%] tests/test_cli_common.py::TestAddProgressArgs::test_adds_progress_flag PASSED [ 16%] tests/test_cli_common.py::TestAddProgressArgs::test_adds_no_progress_flag PASSED [ 16%] tests/test_cli_common.py::TestAddProgressArgs::test_defaults_are_false PASSED [ 16%] tests/test_cli_common.py::TestAddProgressArgs::test_mutual_exclusion PASSED [ 16%] tests/test_cli_common.py::TestAddFsChecksArgs::test_adds_fs_checks_auto PASSED [ 16%] tests/test_cli_common.py::TestAddFsChecksArgs::test_adds_fs_checks_strict PASSED [ 16%] tests/test_cli_common.py::TestAddFsChecksArgs::test_adds_fs_checks_skip PASSED [ 16%] tests/test_cli_common.py::TestAddFsChecksArgs::test_no_fs_checks_alias PASSED [ 16%] tests/test_cli_common.py::TestAddFsChecksArgs::test_default_is_auto PASSED [ 16%] tests/test_cli_common.py::TestGetFsChecksMode::test_returns_auto PASSED [ 16%] tests/test_cli_common.py::TestGetFsChecksMode::test_returns_strict PASSED [ 16%] tests/test_cli_common.py::TestGetFsChecksMode::test_returns_skip PASSED [ 16%] tests/test_cli_common.py::TestGetFsChecksMode::test_missing_attribute_defaults_to_auto PASSED [ 16%] tests/test_cli_common.py::TestGetFsChecksMode::test_none_value_defaults_to_auto PASSED [ 16%] tests/test_cli_verify.py::TestExecute::test_endpoint_creation_failure PASSED [ 16%] tests/test_cli_verify.py::TestExecute::test_metadata_verification_success PASSED [ 16%] tests/test_cli_verify.py::TestExecute::test_metadata_verification_with_failures PASSED [ 17%] tests/test_cli_verify.py::TestExecute::test_verification_with_errors_returns_2 PASSED [ 17%] tests/test_cli_verify.py::TestExecute::test_stream_verification PASSED [ 17%] tests/test_cli_verify.py::TestExecute::test_full_verification PASSED [ 17%] tests/test_cli_verify.py::TestExecute::test_full_verification_remote_requires_temp_dir PASSED [ 17%] tests/test_cli_verify.py::TestExecute::test_verification_exception PASSED [ 17%] tests/test_cli_verify.py::TestExecute::test_verification_keyboard_interrupt PASSED [ 17%] tests/test_cli_verify.py::TestExecute::test_quiet_mode_no_progress PASSED [ 17%] tests/test_cli_verify.py::TestExecute::test_specific_snapshot PASSED [ 17%] tests/test_cli_verify.py::TestExecute::test_ssh_endpoint_options PASSED [ 17%] tests/test_cli_verify.py::TestExecute::test_no_cleanup_option PASSED [ 17%] tests/test_cli_verify.py::TestDisplayReport::test_display_passing_results PASSED [ 17%] tests/test_cli_verify.py::TestDisplayReport::test_display_failing_results PASSED [ 17%] tests/test_cli_verify.py::TestDisplayReport::test_display_with_errors PASSED [ 17%] tests/test_cli_verify.py::TestDisplayReport::test_display_with_details PASSED [ 17%] tests/test_cli_verify.py::TestDisplayReport::test_display_json_format PASSED [ 17%] tests/test_cli_verify.py::TestDisplayJson::test_json_output_structure PASSED [ 17%] tests/test_cli_verify.py::TestDisplayJson::test_json_duration_seconds PASSED [ 17%] tests/test_cli_verify.py::TestEndpointPreparation::test_local_endpoint_path_resolution PASSED [ 18%] tests/test_cli_verify.py::TestEndpointPreparation::test_endpoint_prepare_called PASSED [ 18%] tests/test_cli_verify.py::TestEndpointPreparation::test_endpoint_prepare_failure PASSED [ 18%] tests/test_cli_verify.py::TestProgressCallback::test_progress_callback_provided PASSED [ 18%] tests/test_cli_verify.py::TestProgressCallback::test_progress_callback_none_when_quiet PASSED [ 18%] tests/test_completions.py::TestGetCompletionsDir::test_finds_dev_path PASSED [ 18%] tests/test_completions.py::TestGetCompletionsDir::test_finds_package_path PASSED [ 18%] tests/test_completions.py::TestGetCompletionsDir::test_handles_exception PASSED [ 18%] tests/test_completions.py::TestExecuteCompletions::test_install_action PASSED [ 18%] tests/test_completions.py::TestExecuteCompletions::test_path_action PASSED [ 18%] tests/test_completions.py::TestExecuteCompletions::test_no_action PASSED [ 18%] tests/test_completions.py::TestExecuteCompletions::test_invalid_action PASSED [ 18%] tests/test_completions.py::TestShowCompletionsPath::test_dir_not_found PASSED [ 18%] tests/test_completions.py::TestShowCompletionsPath::test_shows_path_and_files PASSED [ 18%] tests/test_completions.py::TestInstallCompletions::test_completions_dir_not_found PASSED [ 18%] tests/test_completions.py::TestInstallCompletions::test_unknown_shell PASSED [ 18%] tests/test_completions.py::TestInstallCompletions::test_source_file_not_found PASSED [ 18%] tests/test_completions.py::TestInstallCompletions::test_system_install_permission_denied PASSED [ 19%] tests/test_completions.py::TestInstallCompletions::test_successful_user_install_bash PASSED [ 19%] tests/test_completions.py::TestInstallCompletions::test_successful_user_install_zsh PASSED [ 19%] tests/test_completions.py::TestInstallCompletions::test_successful_user_install_fish PASSED [ 19%] tests/test_completions.py::TestInstallCompletions::test_successful_system_install PASSED [ 19%] tests/test_completions.py::TestInstallCompletions::test_mkdir_permission_error PASSED [ 19%] tests/test_completions.py::TestInstallCompletions::test_copy_permission_error PASSED [ 19%] tests/test_completions.py::TestInstallCompletions::test_copy_generic_error PASSED [ 19%] tests/test_completions.py::TestCanWriteSystem::test_root_can_write PASSED [ 19%] tests/test_completions.py::TestCanWriteSystem::test_non_root_parent_writable PASSED [ 19%] tests/test_completions.py::TestCanWriteSystem::test_non_root_parent_not_writable PASSED [ 19%] tests/test_completions.py::TestCanWriteSystem::test_non_root_parent_not_exists PASSED [ 19%] tests/test_completions.py::TestShellConfigTypes::test_bash_config_has_required_keys PASSED [ 19%] tests/test_completions.py::TestShellConfigTypes::test_zsh_config_has_required_keys PASSED [ 19%] tests/test_completions.py::TestShellConfigTypes::test_fish_config_has_required_keys PASSED [ 19%] tests/test_config_cmd.py::TestPrompt::test_returns_user_input PASSED [ 19%] tests/test_config_cmd.py::TestPrompt::test_returns_default_on_empty_input PASSED [ 19%] tests/test_config_cmd.py::TestPrompt::test_strips_whitespace PASSED [ 19%] tests/test_config_cmd.py::TestPrompt::test_raises_keyboard_interrupt_on_eof PASSED [ 20%] tests/test_config_cmd.py::TestPrompt::test_raises_keyboard_interrupt_on_ctrl_c PASSED [ 20%] tests/test_config_cmd.py::TestPromptBool::test_returns_true_for_yes PASSED [ 20%] tests/test_config_cmd.py::TestPromptBool::test_returns_false_for_no PASSED [ 20%] tests/test_config_cmd.py::TestPromptBool::test_returns_default_on_empty PASSED [ 20%] tests/test_config_cmd.py::TestPromptBool::test_raises_keyboard_interrupt_on_eof PASSED [ 20%] tests/test_config_cmd.py::TestPromptChoice::test_returns_choice_by_number PASSED [ 20%] tests/test_config_cmd.py::TestPromptChoice::test_returns_choice_by_value PASSED [ 20%] tests/test_config_cmd.py::TestPromptChoice::test_returns_default_on_empty PASSED [ 20%] tests/test_config_cmd.py::TestPromptChoice::test_rejects_invalid_then_accepts_valid PASSED [ 20%] tests/test_config_cmd.py::TestPromptInt::test_returns_valid_int PASSED [ 20%] tests/test_config_cmd.py::TestPromptInt::test_returns_default_on_empty PASSED [ 20%] tests/test_config_cmd.py::TestPromptInt::test_rejects_out_of_range PASSED [ 20%] tests/test_config_cmd.py::TestPromptInt::test_rejects_non_numeric PASSED [ 20%] tests/test_config_cmd.py::TestGenerateConfigFromWizard::test_generates_basic_config PASSED [ 20%] tests/test_config_cmd.py::TestGenerateConfigFromWizard::test_generates_config_with_log_file PASSED [ 20%] tests/test_config_cmd.py::TestGenerateConfigFromWizard::test_generates_config_with_ssh_target PASSED [ 20%] tests/test_config_cmd.py::TestGenerateConfigFromWizard::test_generates_config_with_require_mount PASSED [ 20%] tests/test_config_cmd.py::TestGenerateConfigFromWizard::test_generates_config_with_email PASSED [ 21%] tests/test_config_cmd.py::TestGenerateConfigFromWizard::test_generates_config_with_webhook PASSED [ 21%] tests/test_config_cmd.py::TestInitConfig::test_non_interactive_outputs_to_stdout PASSED [ 21%] tests/test_config_cmd.py::TestInitConfig::test_non_interactive_writes_to_file PASSED [ 21%] tests/test_config_cmd.py::TestInitConfig::test_interactive_requires_tty PASSED [ 21%] tests/test_config_cmd.py::TestInitConfig::test_interactive_cancelled_by_user PASSED [ 21%] tests/test_config_cmd.py::TestInitConfig::test_interactive_overwrites_existing_file_when_confirmed PASSED [ 21%] tests/test_config_cmd.py::TestInitConfig::test_interactive_aborts_when_overwrite_declined PASSED [ 21%] tests/test_config_cmd.py::TestExecuteConfig::test_validate_with_no_config PASSED [ 21%] tests/test_config_cmd.py::TestExecuteConfig::test_init_action PASSED [ 21%] tests/test_config_cmd.py::TestExecuteConfig::test_unknown_action PASSED [ 21%] tests/test_config_cmd.py::TestInteractiveWizard::test_full_wizard_flow PASSED [ 21%] tests/test_config_cmd.py::TestMigrateSystemd::test_migrate_systemd_dry_run PASSED [ 21%] tests/test_config_cmd.py::TestMigrateSystemd::test_migrate_systemd_no_migration_needed PASSED [ 21%] tests/test_config_cmd.py::TestMigrateSystemd::test_migrate_systemd_success PASSED [ 21%] tests/test_config_cmd.py::TestMigrateSystemd::test_migrate_systemd_with_errors PASSED [ 21%] tests/test_config_cmd.py::TestMigrateSystemd::test_wizard_with_ssh_target PASSED [ 21%] tests/test_config_cmd.py::TestMigrateSystemd::test_wizard_requires_at_least_one_volume PASSED [ 22%] tests/test_config_cmd.py::TestMigrateSystemd::test_wizard_requires_at_least_one_target PASSED [ 22%] tests/test_config_loader.py::TestFindConfigFile::test_explicit_path_exists PASSED [ 22%] tests/test_config_loader.py::TestFindConfigFile::test_explicit_path_not_exists PASSED [ 22%] tests/test_config_loader.py::TestFindConfigFile::test_user_config_location PASSED [ 22%] tests/test_config_loader.py::TestFindConfigFile::test_no_config_found PASSED [ 22%] tests/test_config_loader.py::TestFindConfigFile::test_sudo_user_config_priority PASSED [ 22%] tests/test_config_loader.py::TestFindConfigFile::test_non_sudo_config_paths PASSED [ 22%] tests/test_config_loader.py::TestLoadConfig::test_load_valid_config PASSED [ 22%] tests/test_config_loader.py::TestLoadConfig::test_load_minimal_config PASSED [ 22%] tests/test_config_loader.py::TestLoadConfig::test_load_with_global_settings PASSED [ 22%] tests/test_config_loader.py::TestLoadConfig::test_load_with_retention PASSED [ 22%] tests/test_config_loader.py::TestLoadConfig::test_load_nonexistent_file PASSED [ 22%] tests/test_config_loader.py::TestLoadConfig::test_load_invalid_toml PASSED [ 22%] tests/test_config_loader.py::TestLoadConfig::test_load_missing_volume_path PASSED [ 22%] tests/test_config_loader.py::TestLoadConfig::test_load_missing_target_path PASSED [ 22%] tests/test_config_loader.py::TestLoadConfig::test_load_invalid_compression PASSED [ 22%] tests/test_config_loader.py::TestLoadConfig::test_load_valid_compression_methods PASSED [ 22%] tests/test_config_loader.py::TestLoadConfig::test_empty_config PASSED [ 23%] tests/test_config_loader.py::TestConfigWarnings::test_warning_for_missing_targets PASSED [ 23%] tests/test_config_loader.py::TestConfigWarnings::test_warning_for_disabled_volume PASSED [ 23%] tests/test_config_loader.py::TestConfigWarnings::test_warning_for_duplicate_targets PASSED [ 23%] tests/test_config_loader.py::TestConfigWarnings::test_warning_for_duplicate_volumes PASSED [ 23%] tests/test_config_loader.py::TestConfigWarnings::test_warning_for_ssh_missing_path_separator PASSED [ 23%] tests/test_config_loader.py::TestConfigWarnings::test_warning_for_invalid_snapper_type PASSED [ 23%] tests/test_config_loader.py::TestSnapperSourceConfig::test_snapper_source_with_config PASSED [ 23%] tests/test_config_loader.py::TestSnapperSourceConfig::test_snapper_source_auto_creates_config PASSED [ 23%] tests/test_config_loader.py::TestSnapperSourceConfig::test_invalid_source_type PASSED [ 23%] tests/test_config_loader.py::TestNotificationConfig::test_email_notification_config PASSED [ 23%] tests/test_config_loader.py::TestNotificationConfig::test_webhook_notification_config PASSED [ 23%] tests/test_config_loader.py::TestGenerateExampleConfig::test_generate_example_config PASSED [ 23%] tests/test_config_schema.py::TestRetentionConfig::test_default_values PASSED [ 23%] tests/test_config_schema.py::TestRetentionConfig::test_custom_values PASSED [ 23%] tests/test_config_schema.py::TestNotificationConfig::test_is_enabled_default PASSED [ 23%] tests/test_config_schema.py::TestNotificationConfig::test_is_enabled_with_email PASSED [ 23%] tests/test_config_schema.py::TestNotificationConfig::test_is_enabled_with_webhook PASSED [ 24%] tests/test_config_schema.py::TestNotificationConfig::test_is_enabled_with_both PASSED [ 24%] tests/test_config_schema.py::TestTargetConfig::test_required_path PASSED [ 24%] tests/test_config_schema.py::TestTargetConfig::test_default_values PASSED [ 24%] tests/test_config_schema.py::TestTargetConfig::test_ssh_target PASSED [ 24%] tests/test_config_schema.py::TestVolumeConfig::test_required_path PASSED [ 24%] tests/test_config_schema.py::TestVolumeConfig::test_default_values PASSED [ 24%] tests/test_config_schema.py::TestVolumeConfig::test_auto_prefix_from_path PASSED [ 24%] tests/test_config_schema.py::TestVolumeConfig::test_custom_prefix PASSED [ 24%] tests/test_config_schema.py::TestVolumeConfig::test_with_targets PASSED [ 24%] tests/test_config_schema.py::TestVolumeConfig::test_with_retention_override PASSED [ 24%] tests/test_config_schema.py::TestGlobalConfig::test_default_values PASSED [ 24%] tests/test_config_schema.py::TestGlobalConfig::test_default_retention PASSED [ 24%] tests/test_config_schema.py::TestGlobalConfig::test_custom_values PASSED [ 24%] tests/test_config_schema.py::TestConfig::test_default_values PASSED [ 24%] tests/test_config_schema.py::TestConfig::test_get_enabled_volumes PASSED [ 24%] tests/test_config_schema.py::TestConfig::test_get_effective_retention_global PASSED [ 24%] tests/test_config_schema.py::TestConfig::test_get_effective_retention_override PASSED [ 24%] tests/test_detection.py::TestBtrfsMountInfo::test_creation PASSED [ 25%] tests/test_detection.py::TestBtrfsMountInfo::test_hash_and_equality PASSED [ 25%] tests/test_detection.py::TestBtrfsMountInfo::test_equality_with_non_mount_info PASSED [ 25%] tests/test_detection.py::TestBtrfsMountInfo::test_hash_for_set_usage PASSED [ 25%] tests/test_detection.py::TestDetectedSubvolume::test_creation PASSED [ 25%] tests/test_detection.py::TestDetectedSubvolume::test_display_path_with_mount PASSED [ 25%] tests/test_detection.py::TestDetectedSubvolume::test_display_path_without_mount PASSED [ 25%] tests/test_detection.py::TestDetectedSubvolume::test_suggested_prefix_home PASSED [ 25%] tests/test_detection.py::TestDetectedSubvolume::test_suggested_prefix_root PASSED [ 25%] tests/test_detection.py::TestDetectedSubvolume::test_suggested_prefix_nested PASSED [ 25%] tests/test_detection.py::TestDetectedSubvolume::test_hash_and_equality PASSED [ 25%] tests/test_detection.py::TestDetectedSubvolume::test_equality_with_non_subvolume PASSED [ 25%] tests/test_detection.py::TestDetectedSubvolume::test_hash_for_set_usage PASSED [ 25%] tests/test_detection.py::TestBackupSuggestion::test_is_recommended_high_priority PASSED [ 25%] tests/test_detection.py::TestBackupSuggestion::test_is_recommended_low_priority PASSED [ 25%] tests/test_detection.py::TestDetectionResult::test_recommended_subvolumes PASSED [ 25%] tests/test_detection.py::TestDetectionResult::test_excluded_subvolumes PASSED [ 25%] tests/test_detection.py::TestDetectionResult::test_optional_subvolumes PASSED [ 25%] tests/test_detection.py::TestDetectionResult::test_to_dict PASSED [ 26%] tests/test_detection.py::TestParseProcMounts::test_parse_single_btrfs_mount PASSED [ 26%] tests/test_detection.py::TestParseProcMounts::test_parse_multiple_mounts PASSED [ 26%] tests/test_detection.py::TestParseProcMounts::test_parse_empty_content PASSED [ 26%] tests/test_detection.py::TestParseProcMounts::test_parse_no_btrfs PASSED [ 26%] tests/test_detection.py::TestParseProcMounts::test_parse_complex_options PASSED [ 26%] tests/test_detection.py::TestParseProcMounts::test_parse_at_prefix_subvol PASSED [ 26%] tests/test_detection.py::TestParseProcMounts::test_parse_file_not_found PASSED [ 26%] tests/test_detection.py::TestParseProcMounts::test_excludes_removable_media_by_default PASSED [ 26%] tests/test_detection.py::TestParseProcMounts::test_includes_removable_media_when_disabled PASSED [ 26%] tests/test_detection.py::TestListSubvolumes::test_list_subvolumes_success PASSED [ 26%] tests/test_detection.py::TestListSubvolumes::test_list_subvolumes_fs_tree_no_slash PASSED [ 26%] tests/test_detection.py::TestListSubvolumes::test_list_subvolumes_unparseable_line PASSED [ 26%] tests/test_detection.py::TestListSubvolumes::test_list_subvolumes_permission_denied PASSED [ 26%] tests/test_detection.py::TestListSubvolumes::test_list_subvolumes_operation_not_permitted PASSED [ 26%] tests/test_detection.py::TestListSubvolumes::test_list_subvolumes_other_error PASSED [ 26%] tests/test_detection.py::TestListSubvolumes::test_list_subvolumes_command_not_found PASSED [ 26%] tests/test_detection.py::TestListSubvolumes::test_list_subvolumes_empty PASSED [ 27%] tests/test_detection.py::TestIsRemovableMedia::test_run_media_is_removable PASSED [ 27%] tests/test_detection.py::TestIsRemovableMedia::test_media_is_removable PASSED [ 27%] tests/test_detection.py::TestIsRemovableMedia::test_mnt_is_removable PASSED [ 27%] tests/test_detection.py::TestIsRemovableMedia::test_root_not_removable PASSED [ 27%] tests/test_detection.py::TestIsRemovableMedia::test_home_not_removable PASSED [ 27%] tests/test_detection.py::TestGetSubvolumeDetails::test_get_details_success PASSED [ 27%] tests/test_detection.py::TestGetSubvolumeDetails::test_get_details_command_not_found PASSED [ 27%] tests/test_detection.py::TestGetSubvolumeDetails::test_get_details_command_fails PASSED [ 27%] tests/test_detection.py::TestCorrelateSubvolumes::test_correlate_by_id PASSED [ 27%] tests/test_detection.py::TestCorrelateSubvolumes::test_correlate_by_path PASSED [ 27%] tests/test_detection.py::TestCorrelateSubvolumes::test_correlate_unmounted_subvol PASSED [ 27%] tests/test_detection.py::TestCorrelateSubvolumes::test_adds_mounted_subvolumes_not_in_list PASSED [ 27%] tests/test_detection.py::TestCorrelateSubvolumes::test_adds_root_subvolume_from_mount PASSED [ 27%] tests/test_detection.py::TestCorrelateSubvolumes::test_no_duplicate_subvolumes_added PASSED [ 27%] tests/test_detection.py::TestCorrelateSubvolumes::test_adds_subvolume_with_normalized_path PASSED [ 27%] tests/test_detection.py::TestClassifySubvolume::test_classify_home_as_user_data PASSED [ 27%] tests/test_detection.py::TestClassifySubvolume::test_classify_user_home_as_user_data PASSED [ 27%] tests/test_detection.py::TestClassifySubvolume::test_classify_root_as_system_root PASSED [ 28%] tests/test_detection.py::TestClassifySubvolume::test_classify_at_root_as_system_root PASSED [ 28%] tests/test_detection.py::TestClassifySubvolume::test_classify_snapshots_directory PASSED [ 28%] tests/test_detection.py::TestClassifySubvolume::test_classify_generic_snapshots PASSED [ 28%] tests/test_detection.py::TestClassifySubvolume::test_classify_timeshift_snapshots PASSED [ 28%] tests/test_detection.py::TestClassifySubvolume::test_classify_root_snapshots_dir PASSED [ 28%] tests/test_detection.py::TestClassifySubvolume::test_classify_home_snapshots_dir PASSED [ 28%] tests/test_detection.py::TestClassifySubvolume::test_classify_with_parent_uuid PASSED [ 28%] tests/test_detection.py::TestClassifySubvolume::test_classify_var_lib_machines_as_internal PASSED [ 28%] tests/test_detection.py::TestClassifySubvolume::test_classify_var_lib_docker_as_internal PASSED [ 28%] tests/test_detection.py::TestClassifySubvolume::test_classify_var_cache_as_variable PASSED [ 28%] tests/test_detection.py::TestClassifySubvolume::test_classify_var_log_as_variable PASSED [ 28%] tests/test_detection.py::TestClassifySubvolume::test_classify_opt_as_system_data PASSED [ 28%] tests/test_detection.py::TestClassifySubvolume::test_classify_srv_as_system_data PASSED [ 28%] tests/test_detection.py::TestClassifySubvolume::test_classify_unknown_path PASSED [ 28%] tests/test_detection.py::TestClassifySubvolume::test_classify_relative_path_normalized PASSED [ 28%] tests/test_detection.py::TestSuggestSnapshotDir::test_with_mount_point PASSED [ 28%] tests/test_detection.py::TestSuggestSnapshotDir::test_with_root_mount PASSED [ 29%] tests/test_detection.py::TestSuggestSnapshotDir::test_without_mount_point PASSED [ 29%] tests/test_detection.py::TestGetPriorityAndReason::test_user_data_priority PASSED [ 29%] tests/test_detection.py::TestGetPriorityAndReason::test_system_root_priority PASSED [ 29%] tests/test_detection.py::TestGetPriorityAndReason::test_system_data_priority PASSED [ 29%] tests/test_detection.py::TestGetPriorityAndReason::test_variable_priority_var_log PASSED [ 29%] tests/test_detection.py::TestGetPriorityAndReason::test_variable_priority_other PASSED [ 29%] tests/test_detection.py::TestGetPriorityAndReason::test_unknown_priority PASSED [ 29%] tests/test_detection.py::TestClassifyAllSubvolumes::test_classifies_all PASSED [ 29%] tests/test_detection.py::TestSnapperAwareClassification::test_classify_root_from_snapper_config PASSED [ 29%] tests/test_detection.py::TestSnapperAwareClassification::test_classify_home_from_snapper_config PASSED [ 29%] tests/test_detection.py::TestSnapperAwareClassification::test_classify_opt_from_snapper_config PASSED [ 29%] tests/test_detection.py::TestSnapperAwareClassification::test_classify_var_log_from_snapper_config PASSED [ 29%] tests/test_detection.py::TestSnapperAwareClassification::test_does_not_reclassify_snapshots PASSED [ 29%] tests/test_detection.py::TestSnapperAwareClassification::test_returns_path_map PASSED [ 29%] tests/test_detection.py::TestSnapperAwareClassification::test_reclassify_with_snapper_regenerates_suggestions PASSED [ 29%] tests/test_detection.py::TestSnapperAwareClassification::test_partial_name_match PASSED [ 29%] tests/test_detection.py::TestSnapperAwareClassification::test_unknown_snapper_name_preserves_classification PASSED [ 29%] tests/test_detection.py::TestSnapperAwareClassification::test_adds_missing_snapper_managed_root PASSED [ 30%] tests/test_detection.py::TestSnapperAwareClassification::test_adds_missing_snapper_managed_home PASSED [ 30%] tests/test_detection.py::TestSnapperAwareClassification::test_does_not_duplicate_existing_subvolume PASSED [ 30%] tests/test_detection.py::TestSnapperAwareClassification::test_adds_multiple_missing_snapper_subvolumes PASSED [ 30%] tests/test_detection.py::TestGenerateSuggestions::test_generates_suggestions_for_user_data PASSED [ 30%] tests/test_detection.py::TestGenerateSuggestions::test_excludes_snapshots PASSED [ 30%] tests/test_detection.py::TestGenerateSuggestions::test_excludes_internal PASSED [ 30%] tests/test_detection.py::TestGenerateSuggestions::test_sorted_by_priority PASSED [ 30%] tests/test_detection.py::TestScanSystem::test_scan_system_success PASSED [ 30%] tests/test_detection.py::TestScanSystem::test_scan_system_no_btrfs PASSED [ 30%] tests/test_detection.py::TestScanSystem::test_scan_system_permission_denied_no_partial PASSED [ 30%] tests/test_detection.py::TestScanSystem::test_scan_system_permission_denied_with_partial PASSED [ 30%] tests/test_detection.py::TestScanSystem::test_scan_system_deduplicates_devices PASSED [ 30%] tests/test_detection.py::TestDetectSubvolumes::test_detect_and_classify PASSED [ 30%] tests/test_detection.py::TestProcessDetectionResult::test_processes_result PASSED [ 30%] tests/test_detection.py::TestCLIIntegration::test_detect_json_output PASSED [ 30%] tests/test_detection.py::TestCLIIntegration::test_detect_no_btrfs PASSED [ 30%] tests/test_detection.py::TestCLIIntegration::test_detect_displays_results PASSED [ 30%] tests/test_detection.py::TestConfigDiffSummary::test_show_added_volume PASSED [ 31%] tests/test_detection.py::TestConfigDiffSummary::test_show_removed_volume PASSED [ 31%] tests/test_detection.py::TestConfigDiffSummary::test_show_modified_volume PASSED [ 31%] tests/test_detection.py::TestConfigDiffSummary::test_show_retention_changes PASSED [ 31%] tests/test_detection.py::TestConfigDiffSummary::test_show_added_email_notifications PASSED [ 31%] tests/test_detection.py::TestConfigDiffSummary::test_show_added_webhook_notifications PASSED [ 31%] tests/test_detection.py::TestConfigDiffSummary::test_invalid_existing_config PASSED [ 31%] tests/test_detection.py::TestConfigDiffText::test_show_text_diff_additions PASSED [ 31%] tests/test_detection.py::TestConfigDiffText::test_show_text_diff_removals PASSED [ 31%] tests/test_detection.py::TestConfigDiffText::test_show_text_diff_no_changes PASSED [ 31%] tests/test_detection.py::TestConfigDiffText::test_show_text_diff_headers PASSED [ 31%] tests/test_detection.py::TestDetectionWizard::test_wizard_volume_selection_all PASSED [ 31%] tests/test_detection.py::TestDetectionWizard::test_wizard_volume_selection_specific PASSED [ 31%] tests/test_detection.py::TestDetectionWizard::test_wizard_cancel PASSED [ 31%] tests/test_detection.py::TestDetectionWizard::test_wizard_with_ssh_target PASSED [ 31%] tests/test_detection.py::TestDetectionWizard::test_wizard_with_mount_target PASSED [ 31%] tests/test_detection.py::TestDetectionWizard::test_wizard_invalid_selection_fallback PASSED [ 31%] tests/test_detection.py::TestDetectionWizard::test_wizard_with_global_settings PASSED [ 32%] tests/test_detection.py::TestDetectionWizard::test_wizard_no_suggestions PASSED [ 32%] tests/test_detection.py::TestDetectionWizard::test_wizard_partial_result PASSED [ 32%] tests/test_detection.py::TestDetectionWizard::test_wizard_with_existing_config_diff PASSED [ 32%] tests/test_detection.py::TestDetectionWizard::test_wizard_save_to_file PASSED [ 32%] tests/test_doctor.py::TestDiagnosticSeverity::test_severity_values PASSED [ 32%] tests/test_doctor.py::TestDiagnosticSeverity::test_all_severities_exist PASSED [ 32%] tests/test_doctor.py::TestDiagnosticCategory::test_category_values PASSED [ 32%] tests/test_doctor.py::TestDiagnosticCategory::test_all_categories_exist PASSED [ 32%] tests/test_doctor.py::TestDiagnosticFinding::test_basic_finding PASSED [ 32%] tests/test_doctor.py::TestDiagnosticFinding::test_finding_with_details PASSED [ 32%] tests/test_doctor.py::TestDiagnosticFinding::test_fixable_finding PASSED [ 32%] tests/test_doctor.py::TestDiagnosticFinding::test_fix_action_property PASSED [ 32%] tests/test_doctor.py::TestDiagnosticFinding::test_to_dict PASSED [ 32%] tests/test_doctor.py::TestDiagnosticFinding::test_to_dict_with_fix_description PASSED [ 32%] tests/test_doctor.py::TestDiagnosticReport::test_empty_report PASSED [ 32%] tests/test_doctor.py::TestDiagnosticReport::test_report_counts PASSED [ 32%] tests/test_doctor.py::TestDiagnosticReport::test_exit_code_healthy PASSED [ 32%] tests/test_doctor.py::TestDiagnosticReport::test_exit_code_warnings PASSED [ 33%] tests/test_doctor.py::TestDiagnosticReport::test_exit_code_errors PASSED [ 33%] tests/test_doctor.py::TestDiagnosticReport::test_exit_code_critical PASSED [ 33%] tests/test_doctor.py::TestDiagnosticReport::test_fixable_count PASSED [ 33%] tests/test_doctor.py::TestDiagnosticReport::test_duration PASSED [ 33%] tests/test_doctor.py::TestDiagnosticReport::test_to_dict PASSED [ 33%] tests/test_doctor.py::TestFixResult::test_successful_fix PASSED [ 33%] tests/test_doctor.py::TestFixResult::test_failed_fix PASSED [ 33%] tests/test_doctor.py::TestDoctor::test_init_without_config PASSED [ 33%] tests/test_doctor.py::TestDoctor::test_init_with_config_path PASSED [ 33%] tests/test_doctor.py::TestDoctor::test_checks_registered PASSED [ 33%] tests/test_doctor.py::TestDoctor::test_check_config_exists_no_config PASSED [ 33%] tests/test_doctor.py::TestDoctor::test_check_config_exists_file_exists PASSED [ 33%] tests/test_doctor.py::TestDoctor::test_check_config_exists_file_missing PASSED [ 33%] tests/test_doctor.py::TestDoctor::test_check_config_valid_success PASSED [ 33%] tests/test_doctor.py::TestDoctor::test_check_config_valid_with_warnings PASSED [ 33%] tests/test_doctor.py::TestDoctor::test_check_compression_no_config PASSED [ 33%] tests/test_doctor.py::TestDoctor::test_check_compression_available PASSED [ 33%] tests/test_doctor.py::TestDoctor::test_check_compression_missing PASSED [ 34%] tests/test_doctor.py::TestDoctor::test_is_lock_stale_not_pid PASSED [ 34%] tests/test_doctor.py::TestDoctor::test_is_lock_stale_process_running PASSED [ 34%] tests/test_doctor.py::TestDoctor::test_is_lock_stale_process_not_running PASSED [ 34%] tests/test_doctor.py::TestDoctor::test_run_diagnostics_filters_categories PASSED [ 34%] tests/test_doctor.py::TestDoctor::test_run_diagnostics_all_categories PASSED [ 34%] tests/test_doctor.py::TestDoctor::test_run_diagnostics_progress_callback PASSED [ 34%] tests/test_doctor.py::TestDoctor::test_apply_fixes_no_fixable PASSED [ 34%] tests/test_doctor.py::TestDoctor::test_apply_fixes_calls_fix_action PASSED [ 34%] tests/test_doctor.py::TestDoctor::test_apply_fixes_handles_exception PASSED [ 34%] tests/test_doctor.py::TestDoctorSystemChecks::test_check_systemd_timer_active PASSED [ 34%] tests/test_doctor.py::TestDoctorSystemChecks::test_check_systemd_timer_not_installed PASSED [ 34%] tests/test_doctor.py::TestDoctorSystemChecks::test_check_destination_space_no_config PASSED [ 34%] tests/test_doctor.py::TestDoctorSystemChecks::test_check_last_backup_age_no_config PASSED [ 34%] tests/test_doctor.py::TestDoctorSystemChecks::test_check_destination_space_with_config PASSED [ 34%] tests/test_doctor.py::TestDoctorSystemChecks::test_check_destination_space_low PASSED [ 34%] tests/test_doctor.py::TestDoctorSystemChecks::test_check_destination_space_critical PASSED [ 34%] tests/test_doctor.py::TestDoctorVolumePaths::test_check_volume_paths_no_config PASSED [ 35%] tests/test_doctor.py::TestDoctorVolumePaths::test_check_volume_paths_valid PASSED [ 35%] tests/test_doctor.py::TestDoctorVolumePaths::test_check_volume_paths_missing PASSED [ 35%] tests/test_doctor.py::TestDoctorVolumePaths::test_check_volume_paths_not_btrfs PASSED [ 35%] tests/test_doctor.py::TestDoctorTargetReachability::test_check_target_reachability_no_config PASSED [ 35%] tests/test_doctor.py::TestDoctorTargetReachability::test_check_target_reachability_local_exists PASSED [ 35%] tests/test_doctor.py::TestDoctorTargetReachability::test_check_target_reachability_local_missing PASSED [ 35%] tests/test_doctor.py::TestCliDoctor::test_get_severity_prefix PASSED [ 35%] tests/test_doctor.py::TestCliDoctor::test_print_report_basic PASSED [ 35%] tests/test_doctor.py::TestCliDoctor::test_print_report_quiet_mode PASSED [ 35%] tests/test_doctor.py::TestCliDoctor::test_print_report_with_fixable PASSED [ 35%] tests/test_doctor.py::TestCliDoctor::test_print_report_with_hint PASSED [ 35%] tests/test_doctor.py::TestCliDoctor::test_print_json PASSED [ 35%] tests/test_doctor.py::TestCliDoctor::test_print_json_with_fixes PASSED [ 35%] tests/test_doctor.py::TestCliDoctor::test_print_fix_results PASSED [ 35%] tests/test_doctor.py::TestCliDoctor::test_execute_doctor_basic PASSED [ 35%] tests/test_doctor.py::TestCliDoctor::test_execute_doctor_json_output PASSED [ 35%] tests/test_doctor.py::TestCliDoctor::test_execute_doctor_with_category_filter PASSED [ 35%] tests/test_doctor.py::TestCliDoctor::test_execute_doctor_with_fix PASSED [ 36%] tests/test_doctor.py::TestCliDoctor::test_execute_doctor_with_fix_results PASSED [ 36%] tests/test_doctor.py::TestCliDoctor::test_execute_doctor_with_volume_filter PASSED [ 36%] tests/test_doctor.py::TestDoctorSSHTarget::test_check_ssh_target_success PASSED [ 36%] tests/test_doctor.py::TestDoctorSSHTarget::test_check_ssh_target_failure PASSED [ 36%] tests/test_doctor.py::TestDoctorSSHTarget::test_check_ssh_target_exception PASSED [ 36%] tests/test_doctor.py::TestDoctorStaleLocks::test_fix_stale_lock_success PASSED [ 36%] tests/test_doctor.py::TestDoctorStaleLocks::test_fix_stale_lock_file_not_found PASSED [ 36%] tests/test_doctor.py::TestDoctorStaleLocks::test_fix_stale_lock_snapshot_not_in_locks PASSED [ 36%] tests/test_doctor.py::TestDoctorStaleLocks::test_make_lock_fix_action PASSED [ 36%] tests/test_doctor.py::TestDoctorRecentFailures::test_check_recent_failures_no_config PASSED [ 36%] tests/test_doctor.py::TestDoctorRecentFailures::test_check_recent_failures_no_log_configured PASSED [ 36%] tests/test_doctor.py::TestDoctorRecentFailures::test_check_recent_failures_log_not_exists PASSED [ 36%] tests/test_doctor.py::TestDoctorInteractiveFix::test_apply_fixes_interactive_skips PASSED [ 36%] tests/test_doctor.py::TestDoctorInteractiveFix::test_apply_fixes_fix_returns_false PASSED [ 36%] tests/test_doctor.py::TestDoctorCheckFailure::test_run_diagnostics_check_exception PASSED [ 36%] tests/test_doctor.py::TestDoctorLastBackupAge::test_check_last_backup_age_no_transaction_log PASSED [ 36%] tests/test_doctor.py::TestDoctorSnapshotChecks::test_check_parent_chains_no_config PASSED [ 37%] tests/test_doctor.py::TestDoctorSnapshotChecks::test_check_parent_chains_with_config PASSED [ 37%] tests/test_doctor.py::TestDoctorSnapshotChecks::test_check_snapshot_dates_with_config PASSED [ 37%] tests/test_doctor.py::TestDoctorStaleLockLoop::test_check_stale_locks_with_stale_lock PASSED [ 37%] tests/test_doctor.py::TestDoctorStaleLockLoop::test_check_stale_locks_process_running PASSED [ 37%] tests/test_doctor.py::TestDoctorStaleLockLoop::test_check_stale_locks_empty_locks PASSED [ 37%] tests/test_doctor.py::TestDoctorStaleLockLoop::test_check_stale_locks_read_error PASSED [ 37%] tests/test_doctor.py::TestDoctorTransactionLogParsing::test_check_recent_failures_with_failures PASSED [ 37%] tests/test_doctor.py::TestDoctorTransactionLogParsing::test_check_recent_failures_all_success PASSED [ 37%] tests/test_doctor.py::TestDoctorTransactionLogParsing::test_check_recent_failures_read_error PASSED [ 37%] tests/test_doctor.py::TestDoctorLastBackupAgeCalculation::test_check_last_backup_age_recent PASSED [ 37%] tests/test_doctor.py::TestDoctorLastBackupAgeCalculation::test_check_last_backup_age_old PASSED [ 37%] tests/test_doctor.py::TestDoctorLastBackupAgeCalculation::test_check_last_backup_age_medium PASSED [ 37%] tests/test_doctor.py::TestDoctorLastBackupAgeCalculation::test_check_last_backup_age_no_transfers PASSED [ 37%] tests/test_doctor.py::TestDoctorLastBackupAgeCalculation::test_check_last_backup_age_read_error PASSED [ 37%] tests/test_doctor.py::TestDoctorCompressionOnVolumes::test_check_compression_on_volume_target PASSED [ 37%] tests/test_doctor.py::TestDoctorCompressionOnVolumes::test_check_compression_none_skipped PASSED [ 37%] tests/test_doctor.py::TestCliDoctorEdgeCases::test_execute_doctor_config_load_error PASSED [ 37%] tests/test_doctor.py::TestCliDoctorEdgeCases::test_execute_doctor_progress_callback_called PASSED [ 38%] tests/test_doctor.py::TestCliDoctorEdgeCases::test_execute_doctor_volume_filter_string PASSED [ 38%] tests/test_doctor.py::TestCliDoctorEdgeCases::test_get_severity_prefix_unknown PASSED [ 38%] tests/test_doctor.py::TestCliDoctorEdgeCases::test_print_report_no_problems_quiet PASSED [ 38%] tests/test_errors.py::TestErrorCategory::test_transient_categories PASSED [ 38%] tests/test_errors.py::TestErrorCategory::test_permanent_categories PASSED [ 38%] tests/test_errors.py::TestBackupError::test_basic_creation PASSED [ 38%] tests/test_errors.py::TestBackupError::test_with_suggested_action PASSED [ 38%] tests/test_errors.py::TestBackupError::test_with_original_error PASSED [ 38%] tests/test_errors.py::TestBackupError::test_with_context PASSED [ 38%] tests/test_errors.py::TestBackupError::test_repr PASSED [ 38%] tests/test_errors.py::TestTransientErrors::test_transient_network_error PASSED [ 38%] tests/test_errors.py::TestTransientErrors::test_transient_timeout_error PASSED [ 38%] tests/test_errors.py::TestTransientErrors::test_transient_space_error PASSED [ 38%] tests/test_errors.py::TestTransientErrors::test_transient_busy_error PASSED [ 38%] tests/test_errors.py::TestTransientErrors::test_transient_lock_error PASSED [ 38%] tests/test_errors.py::TestPermanentErrors::test_permanent_permission_error PASSED [ 38%] tests/test_errors.py::TestPermanentErrors::test_permanent_corrupted_error PASSED [ 38%] tests/test_errors.py::TestPermanentErrors::test_permanent_config_error PASSED [ 39%] tests/test_errors.py::TestPermanentErrors::test_permanent_not_found_error PASSED [ 39%] tests/test_errors.py::TestPermanentErrors::test_permanent_unsupported_error PASSED [ 39%] tests/test_errors.py::TestSpecificErrors::test_snapshot_transfer_error PASSED [ 39%] tests/test_errors.py::TestSpecificErrors::test_chunk_transfer_error PASSED [ 39%] tests/test_errors.py::TestSpecificErrors::test_chunk_checksum_error PASSED [ 39%] tests/test_errors.py::TestSpecificErrors::test_insufficient_space_error PASSED [ 39%] tests/test_errors.py::TestSpecificErrors::test_ssh_connection_error PASSED [ 39%] tests/test_errors.py::TestSpecificErrors::test_ssh_authentication_error PASSED [ 39%] tests/test_errors.py::TestClassifyError::test_classify_already_backup_error PASSED [ 39%] tests/test_errors.py::TestClassifyError::test_classify_network_errors PASSED [ 39%] tests/test_errors.py::TestClassifyError::test_classify_timeout_errors PASSED [ 39%] tests/test_errors.py::TestClassifyError::test_classify_permission_errors PASSED [ 39%] tests/test_errors.py::TestClassifyError::test_classify_not_found_errors PASSED [ 39%] tests/test_errors.py::TestClassifyError::test_classify_busy_errors PASSED [ 39%] tests/test_errors.py::TestClassifyError::test_classify_space_errors PASSED [ 39%] tests/test_errors.py::TestClassifyError::test_classify_with_stderr PASSED [ 39%] tests/test_errors.py::TestClassifyError::test_classify_unknown_error PASSED [ 40%] tests/test_errors.py::TestClassifySSHError::test_exit_code_255 PASSED [ 40%] tests/test_errors.py::TestClassifySSHError::test_exit_code_1 PASSED [ 40%] tests/test_errors.py::TestClassifySSHError::test_authentication_failure PASSED [ 40%] tests/test_errors.py::TestClassifyTransferError::test_transfer_error_with_context PASSED [ 40%] tests/test_estimate.py::TestFormatSize::test_format_bytes PASSED [ 40%] tests/test_estimate.py::TestFormatSize::test_format_kibibytes PASSED [ 40%] tests/test_estimate.py::TestFormatSize::test_format_mebibytes PASSED [ 40%] tests/test_estimate.py::TestFormatSize::test_format_gibibytes PASSED [ 40%] tests/test_estimate.py::TestFormatSize::test_format_tebibytes PASSED [ 40%] tests/test_estimate.py::TestFormatSize::test_format_none PASSED [ 40%] tests/test_estimate.py::TestParseSize::test_parse_bytes PASSED [ 40%] tests/test_estimate.py::TestParseSize::test_parse_kibibytes PASSED [ 40%] tests/test_estimate.py::TestParseSize::test_parse_mebibytes PASSED [ 40%] tests/test_estimate.py::TestParseSize::test_parse_gibibytes PASSED [ 40%] tests/test_estimate.py::TestParseSize::test_parse_tebibytes PASSED [ 40%] tests/test_estimate.py::TestParseSize::test_parse_si_units PASSED [ 40%] tests/test_estimate.py::TestParseSize::test_parse_invalid PASSED [ 40%] tests/test_estimate.py::TestSnapshotEstimate::test_basic_estimate PASSED [ 41%] tests/test_estimate.py::TestSnapshotEstimate::test_incremental_estimate PASSED [ 41%] tests/test_estimate.py::TestTransferEstimate::test_empty_estimate PASSED [ 41%] tests/test_estimate.py::TestTransferEstimate::test_add_full_snapshot PASSED [ 41%] tests/test_estimate.py::TestTransferEstimate::test_add_incremental_snapshot PASSED [ 41%] tests/test_estimate.py::TestTransferEstimate::test_multiple_snapshots PASSED [ 41%] tests/test_estimate.py::TestEstimateSnapshotFullSize::test_subvolume_show_success PASSED [ 41%] tests/test_estimate.py::TestEstimateSnapshotFullSize::test_filesystem_du_fallback PASSED [ 41%] tests/test_estimate.py::TestEstimateSnapshotFullSize::test_du_fallback PASSED [ 41%] tests/test_estimate.py::TestEstimateSnapshotFullSize::test_all_methods_fail PASSED [ 41%] tests/test_estimate.py::TestEstimateIncrementalSize::test_send_no_data_success PASSED [ 41%] tests/test_estimate.py::TestEstimateIncrementalSize::test_send_no_data_with_sudo PASSED [ 41%] tests/test_estimate.py::TestEstimateIncrementalSize::test_fallback_to_size_diff PASSED [ 41%] tests/test_estimate.py::TestEstimateIncrementalSize::test_size_diff_negative_returns_zero PASSED [ 41%] tests/test_estimate.py::TestEstimateIncrementalSize::test_timeout_failure PASSED [ 41%] tests/test_estimate.py::TestEstimateIncrementalSize::test_file_not_found_failure PASSED [ 41%] tests/test_estimate.py::TestEstimateSnapshotFullSizeAdvanced::test_uses_sudo_when_not_root PASSED [ 41%] tests/test_estimate.py::TestEstimateSnapshotFullSizeAdvanced::test_no_sudo_when_root PASSED [ 41%] tests/test_estimate.py::TestEstimateSnapshotFullSizeAdvanced::test_timeout_handling PASSED [ 42%] tests/test_estimate.py::TestEstimateSnapshotFullSizeAdvanced::test_exclusive_size_zero_falls_through PASSED [ 42%] tests/test_estimate.py::TestEstimateSnapshotFullSizeAdvanced::test_oserror_handling PASSED [ 42%] tests/test_estimate.py::TestEstimateSnapshotFullSizeAdvanced::test_du_value_error_fallthrough PASSED [ 42%] tests/test_estimate.py::TestEstimateTransfer::test_empty_source PASSED [ 42%] tests/test_estimate.py::TestEstimateTransfer::test_all_snapshots_at_destination PASSED [ 42%] tests/test_estimate.py::TestEstimateTransfer::test_new_snapshot_full_transfer PASSED [ 42%] tests/test_estimate.py::TestEstimateTransfer::test_incremental_transfer_estimation PASSED [ 42%] tests/test_estimate.py::TestEstimateTransfer::test_dest_list_snapshots_fails PASSED [ 42%] tests/test_estimate.py::TestEstimateTransfer::test_explicit_snapshot_list PASSED [ 42%] tests/test_estimate.py::TestEstimateTransfer::test_uses_ssh_sudo_from_config PASSED [ 42%] tests/test_estimate.py::TestPrintEstimate::test_print_empty_estimate PASSED [ 42%] tests/test_estimate.py::TestPrintEstimate::test_print_full_snapshot PASSED [ 42%] tests/test_estimate.py::TestPrintEstimate::test_print_incremental_snapshot PASSED [ 42%] tests/test_estimate.py::TestPrintEstimate::test_print_long_snapshot_name_truncated PASSED [ 42%] tests/test_estimate.py::TestPrintEstimate::test_print_multiple_snapshots PASSED [ 42%] tests/test_estimate.py::TestPrintEstimate::test_print_totals PASSED [ 42%] tests/test_estimate.py::TestParseSizeEdgeCases::test_parse_with_whitespace PASSED [ 43%] tests/test_estimate.py::TestParseSizeEdgeCases::test_parse_float_value PASSED [ 43%] tests/test_estimate.py::TestParseSizeEdgeCases::test_parse_large_tib PASSED [ 43%] tests/test_estimate.py::TestParseSizeEdgeCases::test_parse_case_sensitivity PASSED [ 43%] tests/test_estimate.py::TestExecuteEstimate::test_no_args_shows_error PASSED [ 43%] tests/test_estimate.py::TestExecuteEstimate::test_volume_no_config PASSED [ 43%] tests/test_estimate.py::TestExecuteEstimate::test_volume_not_found PASSED [ 43%] tests/test_estimate.py::TestEstimateFromConfig::test_config_load_error PASSED [ 43%] tests/test_estimate.py::TestEstimateFromConfig::test_volume_no_targets PASSED [ 43%] tests/test_estimate.py::TestEstimateFromConfig::test_invalid_target_index PASSED [ 43%] tests/test_estimate.py::TestEstimateFromConfig::test_source_endpoint_prepare_fails PASSED [ 43%] tests/test_estimate.py::TestEstimateFromConfig::test_dest_endpoint_prepare_fails PASSED [ 43%] tests/test_estimate.py::TestEstimateFromConfig::test_estimation_fails PASSED [ 43%] tests/test_estimate.py::TestEstimateFromConfig::test_successful_estimation PASSED [ 43%] tests/test_estimate.py::TestEstimateFromConfig::test_successful_estimation_json_output PASSED [ 43%] tests/test_estimate.py::TestEstimateFromConfig::test_explicit_config_path PASSED [ 43%] tests/test_estimate.py::TestEstimateDirect::test_source_endpoint_prepare_fails PASSED [ 43%] tests/test_estimate.py::TestEstimateDirect::test_dest_endpoint_prepare_fails PASSED [ 43%] tests/test_estimate.py::TestEstimateDirect::test_estimation_fails PASSED [ 44%] tests/test_estimate.py::TestEstimateDirect::test_successful_estimation PASSED [ 44%] tests/test_estimate.py::TestEstimateDirect::test_successful_estimation_json_output PASSED [ 44%] tests/test_estimate.py::TestEstimateDirect::test_ssh_source_path PASSED [ 44%] tests/test_estimate.py::TestEstimateDirect::test_ssh_dest_path PASSED [ 44%] tests/test_estimate.py::TestPrintJson::test_empty_estimate PASSED [ 44%] tests/test_estimate.py::TestPrintJson::test_full_snapshot PASSED [ 44%] tests/test_estimate.py::TestPrintJson::test_incremental_snapshot PASSED [ 44%] tests/test_estimate.py::TestPrintJson::test_multiple_snapshots PASSED [ 44%] tests/test_estimate.py::TestPrintJson::test_human_readable_sizes PASSED [ 44%] tests/test_estimate.py::TestExecuteEstimateIntegration::test_direct_mode_called PASSED [ 44%] tests/test_estimate.py::TestExecuteEstimateIntegration::test_config_mode_called PASSED [ 44%] tests/test_estimate.py::TestExecuteEstimateIntegration::test_missing_source_with_dest PASSED [ 44%] tests/test_estimate.py::TestExecuteEstimateIntegration::test_missing_dest_with_source PASSED [ 44%] tests/test_logger.py::TestSetLevel::test_set_level_with_string PASSED [ 44%] tests/test_logger.py::TestSetLevel::test_set_level_with_constant PASSED [ 44%] tests/test_logger.py::TestSetLevel::test_set_level_case_insensitive PASSED [ 44%] tests/test_logger.py::TestSetLevel::test_set_level_invalid_string PASSED [ 45%] tests/test_logger.py::TestSetLevel::test_set_level_updates_handlers PASSED [ 45%] tests/test_logger.py::TestRichLogger::test_singleton_pattern PASSED [ 45%] tests/test_logger.py::TestRichLogger::test_initial_message PASSED [ 45%] tests/test_logger.py::TestRichLogger::test_write_message PASSED [ 45%] tests/test_logger.py::TestRichLogger::test_write_multiline PASSED [ 45%] tests/test_logger.py::TestRichLogger::test_write_returns_zero PASSED [ 45%] tests/test_logger.py::TestRichLogger::test_flush_does_nothing PASSED [ 45%] tests/test_logger.py::TestRichLogger::test_max_messages PASSED [ 45%] tests/test_logger.py::TestCreateLogger::test_create_logger_no_live_layout PASSED [ 45%] tests/test_logger.py::TestCreateLogger::test_create_logger_with_live_layout PASSED [ 45%] tests/test_logger.py::TestCreateLogger::test_create_logger_with_level_string PASSED [ 45%] tests/test_logger.py::TestCreateLogger::test_create_logger_with_level_constant PASSED [ 45%] tests/test_logger.py::TestCreateLogger::test_create_logger_clears_handlers PASSED [ 45%] tests/test_logger.py::TestCreateLogger::test_create_logger_propagate_false PASSED [ 45%] tests/test_logger.py::TestLoggerBasicUsage::test_logger_exists PASSED [ 45%] tests/test_logger.py::TestLoggerBasicUsage::test_logger_can_log PASSED [ 45%] tests/test_logger.py::TestLoggerBasicUsage::test_logger_respects_level PASSED [ 45%] tests/test_logger.py::TestFileLogging::test_add_file_handler_creates_file PASSED [ 46%] tests/test_logger.py::TestFileLogging::test_add_file_handler_with_level_string PASSED [ 46%] tests/test_logger.py::TestFileLogging::test_add_file_handler_with_level_constant PASSED [ 46%] tests/test_logger.py::TestFileLogging::test_add_file_handler_creates_parent_dirs PASSED [ 46%] tests/test_logger.py::TestFileLogging::test_add_file_handler_replaces_existing_handler PASSED [ 46%] tests/test_logger.py::TestFileLogging::test_remove_file_handler PASSED [ 46%] tests/test_logger.py::TestFileLogging::test_remove_file_handler_when_none PASSED [ 46%] tests/test_manpages.py::TestGetManpagesDir::test_finds_dev_path PASSED [ 46%] tests/test_manpages.py::TestGetManpagesDir::test_finds_package_path PASSED [ 46%] tests/test_manpages.py::TestGetManpagesDir::test_handles_exception PASSED [ 46%] tests/test_manpages.py::TestExecuteManpages::test_install_action PASSED [ 46%] tests/test_manpages.py::TestExecuteManpages::test_path_action PASSED [ 46%] tests/test_manpages.py::TestExecuteManpages::test_no_action PASSED [ 46%] tests/test_manpages.py::TestExecuteManpages::test_invalid_action PASSED [ 46%] tests/test_manpages.py::TestShowManpagesPath::test_dir_not_found PASSED [ 46%] tests/test_manpages.py::TestShowManpagesPath::test_shows_path_and_files PASSED [ 46%] tests/test_manpages.py::TestInstallManpages::test_man_dir_not_found PASSED [ 46%] tests/test_manpages.py::TestInstallManpages::test_cannot_write_to_dest PASSED [ 46%] tests/test_manpages.py::TestInstallManpages::test_cannot_create_dest_dir PASSED [ 47%] tests/test_manpages.py::TestInstallManpages::test_no_man_pages_found PASSED [ 47%] tests/test_manpages.py::TestInstallManpages::test_successful_user_install PASSED [ 47%] tests/test_manpages.py::TestInstallManpages::test_successful_system_install PASSED [ 47%] tests/test_manpages.py::TestInstallManpages::test_install_with_prefix PASSED [ 47%] tests/test_manpages.py::TestInstallManpages::test_gzip_permission_error PASSED [ 47%] tests/test_manpages.py::TestInstallManpages::test_gzip_generic_error PASSED [ 47%] tests/test_manpages.py::TestCanWrite::test_root_can_write PASSED [ 47%] tests/test_manpages.py::TestCanWrite::test_non_root_path_exists_writable PASSED [ 47%] tests/test_manpages.py::TestCanWrite::test_non_root_path_exists_not_writable PASSED [ 47%] tests/test_manpages.py::TestCanWrite::test_non_root_parent_writable PASSED [ 47%] tests/test_manpages.py::TestCanWrite::test_non_root_find_ancestor PASSED [ 47%] tests/test_manpages.py::TestCanWrite::test_non_root_no_ancestor PASSED [ 47%] tests/test_manpages.py::TestUpdateMandb::test_mandb_success PASSED [ 47%] tests/test_manpages.py::TestUpdateMandb::test_mandb_not_found PASSED [ 47%] tests/test_manpages.py::TestUpdateMandb::test_mandb_timeout PASSED [ 47%] tests/test_manpages.py::TestUpdateMandb::test_mandb_subprocess_error PASSED [ 47%] tests/test_notifications.py::TestNotificationEvent::test_default_values PASSED [ 48%] tests/test_notifications.py::TestNotificationEvent::test_with_all_fields PASSED [ 48%] tests/test_notifications.py::TestNotificationEvent::test_to_dict PASSED [ 48%] tests/test_notifications.py::TestNotificationEvent::test_to_text_minimal PASSED [ 48%] tests/test_notifications.py::TestNotificationEvent::test_to_text_with_details PASSED [ 48%] tests/test_notifications.py::TestNotificationEvent::test_to_text_with_snapshots PASSED [ 48%] tests/test_notifications.py::TestNotificationEvent::test_to_text_with_transfers PASSED [ 48%] tests/test_notifications.py::TestNotificationEvent::test_to_text_with_pruned PASSED [ 48%] tests/test_notifications.py::TestNotificationEvent::test_to_text_with_duration PASSED [ 48%] tests/test_notifications.py::TestNotificationEvent::test_to_text_with_errors PASSED [ 48%] tests/test_notifications.py::TestNotificationEvent::test_to_html_success PASSED [ 48%] tests/test_notifications.py::TestNotificationEvent::test_to_html_failure PASSED [ 48%] tests/test_notifications.py::TestNotificationEvent::test_to_html_partial PASSED [ 48%] tests/test_notifications.py::TestEmailConfig::test_default_values PASSED [ 48%] tests/test_notifications.py::TestEmailConfig::test_custom_values PASSED [ 48%] tests/test_notifications.py::TestWebhookConfig::test_default_values PASSED [ 48%] tests/test_notifications.py::TestWebhookConfig::test_custom_values PASSED [ 48%] tests/test_notifications.py::TestNotificationConfig::test_default_values PASSED [ 48%] tests/test_notifications.py::TestNotificationConfig::test_is_enabled_false_by_default PASSED [ 49%] tests/test_notifications.py::TestNotificationConfig::test_is_enabled_with_email PASSED [ 49%] tests/test_notifications.py::TestNotificationConfig::test_is_enabled_with_webhook PASSED [ 49%] tests/test_notifications.py::TestSendEmail::test_disabled_returns_false PASSED [ 49%] tests/test_notifications.py::TestSendEmail::test_no_recipients_returns_false PASSED [ 49%] tests/test_notifications.py::TestSendEmail::test_success_skipped_when_on_success_false PASSED [ 49%] tests/test_notifications.py::TestSendEmail::test_failure_skipped_when_on_failure_false PASSED [ 49%] tests/test_notifications.py::TestSendEmail::test_partial_treated_as_failure PASSED [ 49%] tests/test_notifications.py::TestSendEmail::test_send_plain_smtp PASSED [ 49%] tests/test_notifications.py::TestSendEmail::test_send_starttls_smtp PASSED [ 49%] tests/test_notifications.py::TestSendEmail::test_send_ssl_smtp PASSED [ 49%] tests/test_notifications.py::TestSendEmail::test_send_email_exception_returns_false PASSED [ 49%] tests/test_notifications.py::TestSendWebhook::test_disabled_returns_false PASSED [ 49%] tests/test_notifications.py::TestSendWebhook::test_no_url_returns_false PASSED [ 49%] tests/test_notifications.py::TestSendWebhook::test_success_skipped_when_on_success_false PASSED [ 49%] tests/test_notifications.py::TestSendWebhook::test_failure_skipped_when_on_failure_false PASSED [ 49%] tests/test_notifications.py::TestSendWebhook::test_send_webhook_success PASSED [ 49%] tests/test_notifications.py::TestSendWebhook::test_send_webhook_with_custom_headers PASSED [ 50%] tests/test_notifications.py::TestSendWebhook::test_send_webhook_non_success_status PASSED [ 50%] tests/test_notifications.py::TestSendWebhook::test_send_webhook_http_error PASSED [ 50%] tests/test_notifications.py::TestSendWebhook::test_send_webhook_url_error PASSED [ 50%] tests/test_notifications.py::TestSendWebhook::test_send_webhook_generic_exception PASSED [ 50%] tests/test_notifications.py::TestSendNotifications::test_no_notifications_enabled PASSED [ 50%] tests/test_notifications.py::TestSendNotifications::test_email_only PASSED [ 50%] tests/test_notifications.py::TestSendNotifications::test_webhook_only PASSED [ 50%] tests/test_notifications.py::TestSendNotifications::test_both_enabled PASSED [ 50%] tests/test_notifications.py::TestCreateBackupEvent::test_success_event PASSED [ 50%] tests/test_notifications.py::TestCreateBackupEvent::test_failure_event PASSED [ 50%] tests/test_notifications.py::TestCreateBackupEvent::test_partial_event PASSED [ 50%] tests/test_notifications.py::TestCreateBackupEvent::test_default_errors PASSED [ 50%] tests/test_notifications.py::TestCreatePruneEvent::test_success_event PASSED [ 50%] tests/test_notifications.py::TestCreatePruneEvent::test_failure_event PASSED [ 50%] tests/test_notifications.py::TestCreatePruneEvent::test_partial_event PASSED [ 50%] tests/test_notifications.py::TestCreatePruneEvent::test_default_errors PASSED [ 50%] tests/test_progress.py::TestIsInteractive::test_returns_true_when_tty PASSED [ 50%] tests/test_progress.py::TestIsInteractive::test_returns_false_when_not_tty PASSED [ 51%] tests/test_progress.py::TestParseSize::test_parse_bytes_suffix PASSED [ 51%] tests/test_progress.py::TestParseSize::test_parse_plain_number PASSED [ 51%] tests/test_progress.py::TestParseSize::test_parse_with_whitespace PASSED [ 51%] tests/test_progress.py::TestParseSize::test_parse_invalid_returns_none PASSED [ 51%] tests/test_progress.py::TestParseSize::test_parse_float_bytes PASSED [ 51%] tests/test_progress.py::TestParseSize::test_parse_size_with_decimal PASSED [ 51%] tests/test_progress.py::TestParseSize::test_multipliers_exist PASSED [ 51%] tests/test_progress.py::TestEstimateSnapshotSize::test_incremental_returns_none PASSED [ 51%] tests/test_progress.py::TestEstimateSnapshotSize::test_parses_exclusive_size_bytes PASSED [ 51%] tests/test_progress.py::TestEstimateSnapshotSize::test_uses_sudo_when_not_root PASSED [ 51%] tests/test_progress.py::TestEstimateSnapshotSize::test_fallback_to_btrfs_du PASSED [ 51%] tests/test_progress.py::TestEstimateSnapshotSize::test_fallback_to_du PASSED [ 51%] tests/test_progress.py::TestEstimateSnapshotSize::test_returns_none_when_all_fail PASSED [ 51%] tests/test_progress.py::TestEstimateSnapshotSize::test_handles_timeout PASSED [ 51%] tests/test_progress.py::TestEstimateSnapshotSize::test_handles_file_not_found PASSED [ 51%] tests/test_progress.py::TestRichProgressPipe::test_read_updates_progress PASSED [ 51%] tests/test_progress.py::TestRichProgressPipe::test_read_full_data PASSED [ 51%] tests/test_progress.py::TestRichProgressPipe::test_read_default_chunk_size PASSED [ 52%] tests/test_progress.py::TestRichProgressPipe::test_close PASSED [ 52%] tests/test_progress.py::TestRichProgressPipe::test_close_idempotent PASSED [ 52%] tests/test_progress.py::TestRichProgressPipe::test_context_manager PASSED [ 52%] tests/test_progress.py::TestRichProgressPipe::test_fileno PASSED [ 52%] tests/test_progress.py::TestProgressReader::test_transfers_data_with_progress PASSED [ 52%] tests/test_progress.py::TestProgressReader::test_handles_read_error PASSED [ 52%] tests/test_progress.py::TestProgressReader::test_closes_dest_on_completion PASSED [ 52%] tests/test_progress.py::TestProgressReader::test_is_daemon_thread PASSED [ 52%] tests/test_progress.py::TestCreateRichProgress::test_creates_progress_when_rich_available PASSED [ 52%] tests/test_progress.py::TestCreateRichProgress::test_returns_none_when_rich_unavailable PASSED [ 52%] tests/test_progress.py::TestSimpleTransfer::test_transfers_data PASSED [ 52%] tests/test_progress.py::TestSimpleTransfer::test_returns_process_codes PASSED [ 52%] tests/test_progress.py::TestRunTransferWithProgress::test_falls_back_to_simple_when_no_rich PASSED [ 52%] tests/test_progress.py::TestRunTransferWithProgress::test_uses_progress_reader PASSED [ 52%] tests/test_progress.py::TestRunTransferWithProgress::test_logs_reader_error PASSED [ 52%] tests/test_progress.py::TestRunTransferWithProgress::test_updates_final_progress PASSED [ 52%] tests/test_restore.py::TestFindOlderParent::test_finds_most_recent_older PASSED [ 53%] tests/test_restore.py::TestFindOlderParent::test_returns_none_for_oldest PASSED [ 53%] tests/test_restore.py::TestFindOlderParent::test_skips_same_and_newer PASSED [ 53%] tests/test_restore.py::TestGetRestoreChain::test_single_snapshot_no_existing PASSED [ 53%] tests/test_restore.py::TestGetRestoreChain::test_builds_full_chain PASSED [ 53%] tests/test_restore.py::TestGetRestoreChain::test_stops_at_existing_local PASSED [ 53%] tests/test_restore.py::TestGetRestoreChain::test_empty_chain_if_target_exists PASSED [ 53%] tests/test_restore.py::TestFindSnapshotByName::test_finds_existing PASSED [ 53%] tests/test_restore.py::TestFindSnapshotByName::test_returns_none_for_missing PASSED [ 53%] tests/test_restore.py::TestFindSnapshotByName::test_empty_list PASSED [ 53%] tests/test_restore.py::TestFindSnapshotBeforeTime::test_finds_most_recent_before PASSED [ 53%] tests/test_restore.py::TestFindSnapshotBeforeTime::test_returns_none_if_all_after PASSED [ 53%] tests/test_restore.py::TestFindSnapshotBeforeTime::test_includes_exact_match PASSED [ 53%] tests/test_restore.py::TestValidateRestoreDestination::test_validates_existing_btrfs PASSED [ 53%] tests/test_restore.py::TestValidateRestoreDestination::test_creates_missing_directory PASSED [ 53%] tests/test_restore.py::TestValidateRestoreDestination::test_rejects_non_btrfs PASSED [ 53%] tests/test_restore.py::TestValidateRestoreDestination::test_in_place_requires_force PASSED [ 53%] tests/test_restore.py::TestValidateRestoreDestination::test_in_place_with_force PASSED [ 53%] tests/test_restore.py::TestCheckSnapshotCollision::test_detects_collision PASSED [ 54%] tests/test_restore.py::TestCheckSnapshotCollision::test_no_collision PASSED [ 54%] tests/test_restore.py::TestCheckSnapshotCollision::test_handles_error PASSED [ 54%] tests/test_restore.py::TestListRemoteSnapshots::test_lists_all PASSED [ 54%] tests/test_restore.py::TestListRemoteSnapshots::test_filters_by_prefix PASSED [ 54%] tests/test_restore.py::TestRestoreChainEdgeCases::test_handles_single_snapshot PASSED [ 54%] tests/test_restore.py::TestRestoreChainEdgeCases::test_handles_gaps_in_chain PASSED [ 54%] tests/test_restore.py::TestRestoreChainEdgeCases::test_preserves_order_oldest_first PASSED [ 54%] tests/test_restore.py::TestExecuteStatus::test_status_no_source PASSED [ 54%] tests/test_restore.py::TestFindSnapshotBeforeTimeEdgeCases::test_snapshot_without_time_obj_attribute PASSED [ 54%] tests/test_restore.py::TestFindSnapshotBeforeTimeEdgeCases::test_snapshot_with_none_time_obj PASSED [ 54%] tests/test_restore.py::TestFindSnapshotBeforeTimeEdgeCases::test_mixed_snapshots_some_without_time PASSED [ 54%] tests/test_restore.py::TestRestoreSnapshotsExecution::test_actual_restore_execution PASSED [ 54%] tests/test_restore.py::TestRestoreSnapshotsExecution::test_restore_with_progress_callback PASSED [ 54%] tests/test_restore.py::TestRestoreSnapshotsExecution::test_restore_with_no_incremental PASSED [ 54%] tests/test_restore.py::TestRestoreSnapshotsExecution::test_restore_handles_failure PASSED [ 54%] tests/test_restore.py::TestRestoreSnapshotsExecution::test_restore_handles_abort_error PASSED [ 54%] tests/test_restore.py::TestRestoreSnapshotsExecution::test_restore_without_skip_existing PASSED [ 54%] tests/test_restore.py::TestRestoreSnapshotsExecution::test_restore_skip_existing_false_with_existing_in_chain PASSED [ 55%] tests/test_restore.py::TestRestoreSnapshotsExecution::test_restore_with_options PASSED [ 55%] tests/test_restore.py::TestRestoreSnapshotsExecution::test_restore_tracks_restored_snapshots_for_parents PASSED [ 55%] tests/test_restore.py::TestRestoreSnapshotsExecution::test_restore_logs_errors PASSED [ 55%] tests/test_restore.py::TestRestoreSnapshotExecution::test_restore_uses_provided_session_id PASSED [ 55%] tests/test_restore.py::TestRestoreSnapshotExecution::test_restore_generates_session_id_if_none PASSED [ 55%] tests/test_restore.py::TestRestoreSnapshotExecution::test_restore_with_provided_options PASSED [ 55%] tests/test_restore.py::TestRestoreSnapshotExecution::test_restore_with_empty_options PASSED [ 55%] tests/test_restore.py::TestValidateRestoreDestinationEdgeCases::test_in_place_with_force_allowed PASSED [ 55%] tests/test_restore.py::TestValidateRestoreDestinationEdgeCases::test_creates_nested_directories PASSED [ 55%] tests/test_restore.py::TestValidateRestoreDestinationEdgeCases::test_mkdir_permission_error PASSED [ 55%] tests/test_restore.py::TestValidateRestoreDestinationEdgeCases::test_status_no_locks PASSED [ 55%] tests/test_restore.py::TestValidateRestoreDestinationEdgeCases::test_status_with_restore_locks PASSED [ 55%] tests/test_restore.py::TestExecuteUnlock::test_unlock_no_source PASSED [ 55%] tests/test_restore.py::TestExecuteUnlock::test_unlock_no_lock_file PASSED [ 55%] tests/test_restore.py::TestExecuteUnlock::test_unlock_all_restore_locks PASSED [ 55%] tests/test_restore.py::TestExecuteUnlock::test_unlock_specific_session PASSED [ 55%] tests/test_restore.py::TestExecuteUnlock::test_unlock_nonexistent_session PASSED [ 56%] tests/test_restore.py::TestExecuteCleanup::test_cleanup_no_destination PASSED [ 56%] tests/test_restore.py::TestExecuteCleanup::test_cleanup_nonexistent_path PASSED [ 56%] tests/test_restore.py::TestExecuteCleanup::test_cleanup_no_partial_subvolumes PASSED [ 56%] tests/test_restore.py::TestExecuteCleanup::test_cleanup_finds_empty_subvolume PASSED [ 56%] tests/test_restore.py::TestExecuteCleanup::test_cleanup_finds_partial_suffix PASSED [ 56%] tests/test_restore.py::TestExecuteCleanup::test_cleanup_dry_run_no_delete PASSED [ 56%] tests/test_restore.py::TestExecuteListVolumes::test_list_volumes_no_config PASSED [ 56%] tests/test_restore.py::TestExecuteListVolumes::test_list_volumes_empty_config PASSED [ 56%] tests/test_restore.py::TestExecuteListVolumes::test_list_volumes_with_volumes PASSED [ 56%] tests/test_restore.py::TestExecuteConfigRestore::test_config_restore_no_config PASSED [ 56%] tests/test_restore.py::TestExecuteConfigRestore::test_config_restore_volume_not_found PASSED [ 56%] tests/test_restore.py::TestExecuteConfigRestore::test_config_restore_no_targets PASSED [ 56%] tests/test_restore.py::TestExecuteConfigRestore::test_config_restore_invalid_target_index PASSED [ 56%] tests/test_restore.py::TestExecuteConfigRestore::test_config_restore_list_mode PASSED [ 56%] tests/test_restore.py::TestExecuteConfigRestore::test_config_restore_no_destination PASSED [ 56%] tests/test_restore.py::TestVerifyRestoredSnapshot::test_success_when_valid_subvolume PASSED [ 56%] tests/test_restore.py::TestVerifyRestoredSnapshot::test_raises_when_path_not_exists PASSED [ 56%] tests/test_restore.py::TestVerifyRestoredSnapshot::test_raises_when_not_subvolume PASSED [ 57%] tests/test_restore.py::TestVerifyRestoredSnapshot::test_wraps_unexpected_exceptions PASSED [ 57%] tests/test_restore.py::TestRestoreSnapshot::test_restores_single_snapshot PASSED [ 57%] tests/test_restore.py::TestRestoreSnapshot::test_restores_with_parent PASSED [ 57%] tests/test_restore.py::TestRestoreSnapshot::test_logs_transaction_on_success PASSED [ 57%] tests/test_restore.py::TestRestoreSnapshot::test_logs_failure_on_error PASSED [ 57%] tests/test_restore.py::TestRestoreSnapshot::test_releases_locks_on_error PASSED [ 57%] tests/test_restore.py::TestRestoreSnapshots::test_returns_empty_stats_when_no_backups PASSED [ 57%] tests/test_restore.py::TestRestoreSnapshots::test_restores_latest_by_default PASSED [ 57%] tests/test_restore.py::TestRestoreSnapshots::test_restores_specific_snapshot PASSED [ 57%] tests/test_restore.py::TestRestoreSnapshots::test_raises_when_snapshot_not_found PASSED [ 57%] tests/test_restore.py::TestRestoreSnapshots::test_no_restore_needed_when_all_exist PASSED [ 57%] tests/test_restore.py::TestRestoreSnapshots::test_restore_before_time PASSED [ 57%] tests/test_restore.py::TestRestoreSnapshots::test_raises_when_no_snapshot_before_time PASSED [ 57%] tests/test_restore.py::TestRestoreSnapshots::test_calls_progress_callback PASSED [ 57%] tests/test_restore.py::TestRestoreSnapshots::test_returns_stats_with_errors PASSED [ 57%] tests/test_restore.py::TestExecuteRestore::test_no_source_shows_error PASSED [ 57%] tests/test_restore.py::TestExecuteRestore::test_no_destination_shows_error PASSED [ 58%] tests/test_restore.py::TestExecuteRestore::test_list_volumes_mode PASSED [ 58%] tests/test_restore.py::TestExecuteRestore::test_volume_mode PASSED [ 58%] tests/test_restore.py::TestExecuteRestore::test_list_mode PASSED [ 58%] tests/test_restore.py::TestExecuteRestore::test_status_mode PASSED [ 58%] tests/test_restore.py::TestExecuteRestore::test_unlock_mode PASSED [ 58%] tests/test_restore.py::TestExecuteRestore::test_cleanup_mode PASSED [ 58%] tests/test_restore.py::TestExecuteMainRestore::test_destination_validation_failure PASSED [ 58%] tests/test_restore.py::TestExecuteMainRestore::test_backup_endpoint_failure PASSED [ 58%] tests/test_restore.py::TestExecuteMainRestore::test_local_endpoint_failure PASSED [ 58%] tests/test_restore.py::TestExecuteMainRestore::test_restore_error PASSED [ 58%] tests/test_restore.py::TestExecuteMainRestore::test_successful_restore PASSED [ 58%] tests/test_restore.py::TestExecuteMainRestore::test_restore_with_failures_returns_1 PASSED [ 58%] tests/test_restore.py::TestExecuteMainRestore::test_invalid_before_date_format PASSED [ 58%] tests/test_restore.py::TestExecuteList::test_list_no_source PASSED [ 58%] tests/test_restore.py::TestExecuteList::test_list_endpoint_failure PASSED [ 58%] tests/test_restore.py::TestExecuteList::test_list_empty PASSED [ 58%] tests/test_restore.py::TestExecuteList::test_list_with_snapshots PASSED [ 58%] tests/test_restore.py::TestExecuteList::test_list_exception PASSED [ 59%] tests/test_restore.py::TestPrepareBackupEndpoint::test_local_endpoint PASSED [ 59%] tests/test_restore.py::TestPrepareBackupEndpoint::test_ssh_endpoint PASSED [ 59%] tests/test_restore.py::TestPrepareLocalEndpoint::test_creates_directory PASSED [ 59%] tests/test_restore.py::TestPrepareLocalEndpoint::test_calls_prepare PASSED [ 59%] tests/test_restore.py::TestParseDatetime::test_parse_date_only PASSED [ 59%] tests/test_restore.py::TestParseDatetime::test_parse_date_with_time PASSED [ 59%] tests/test_restore.py::TestParseDatetime::test_parse_date_with_time_no_seconds PASSED [ 59%] tests/test_restore.py::TestParseDatetime::test_parse_iso_format PASSED [ 59%] tests/test_restore.py::TestParseDatetime::test_parse_invalid_format PASSED [ 59%] tests/test_restore.py::TestInteractiveSelect::test_no_snapshots_returns_none PASSED [ 59%] tests/test_restore.py::TestInteractiveSelect::test_exception_returns_none PASSED [ 59%] tests/test_restore.py::TestInteractiveSelect::test_cancel_returns_none PASSED [ 59%] tests/test_restore.py::TestInteractiveSelect::test_empty_input_returns_none PASSED [ 59%] tests/test_restore.py::TestInteractiveSelect::test_select_and_confirm PASSED [ 59%] tests/test_restore.py::TestInteractiveSelect::test_select_and_decline PASSED [ 59%] tests/test_restore.py::TestInteractiveSelect::test_invalid_input_then_valid PASSED [ 59%] tests/test_restore.py::TestInteractiveSelect::test_out_of_range_then_valid PASSED [ 59%] tests/test_restore.py::TestInteractiveSelect::test_keyboard_interrupt PASSED [ 60%] tests/test_restore.py::TestInteractiveSelect::test_eof_error PASSED [ 60%] tests/test_restore.py::TestExecuteListVolumesExtended::test_no_config_file PASSED [ 60%] tests/test_restore.py::TestExecuteListVolumesExtended::test_config_load_error PASSED [ 60%] tests/test_restore.py::TestExecuteListVolumesExtended::test_no_volumes_configured PASSED [ 60%] tests/test_restore.py::TestExecuteListVolumesExtended::test_lists_volumes_with_targets PASSED [ 60%] tests/test_restore.py::TestExecuteConfigRestoreExtended::test_no_config_file PASSED [ 60%] tests/test_restore.py::TestExecuteConfigRestoreExtended::test_config_load_error PASSED [ 60%] tests/test_restore.py::TestExecuteConfigRestoreExtended::test_volume_not_found PASSED [ 60%] tests/test_restore.py::TestExecuteConfigRestoreExtended::test_volume_no_targets PASSED [ 60%] tests/test_restore.py::TestExecuteConfigRestoreExtended::test_invalid_target_index PASSED [ 60%] tests/test_restore.py::TestExecuteConfigRestoreExtended::test_list_mode_with_config PASSED [ 60%] tests/test_restore.py::TestExecuteConfigRestoreExtended::test_no_destination_for_restore PASSED [ 60%] tests/test_restore.py::TestExecuteConfigRestoreExtended::test_successful_config_restore PASSED [ 60%] tests/test_restore.py::TestExecuteStatusDetailed::test_endpoint_prepare_fails PASSED [ 60%] tests/test_restore.py::TestExecuteStatusDetailed::test_status_with_mixed_locks PASSED [ 60%] tests/test_restore.py::TestExecuteStatusDetailed::test_status_lock_read_exception PASSED [ 60%] tests/test_restore.py::TestExecuteUnlockDetailed::test_endpoint_prepare_fails PASSED [ 61%] tests/test_restore.py::TestExecuteUnlockDetailed::test_unlock_lock_read_error PASSED [ 61%] tests/test_restore.py::TestExecuteUnlockDetailed::test_unlock_empty_locks PASSED [ 61%] tests/test_restore.py::TestExecuteUnlockDetailed::test_unlock_specific_session PASSED [ 61%] tests/test_restore.py::TestExecuteUnlockDetailed::test_unlock_all_restore_locks PASSED [ 61%] tests/test_restore.py::TestExecuteCleanupDetailed::test_cleanup_no_destination PASSED [ 61%] tests/test_restore.py::TestExecuteCleanupDetailed::test_cleanup_path_not_exists PASSED [ 61%] tests/test_restore.py::TestExecuteCleanupDetailed::test_cleanup_finds_partial_suffix PASSED [ 61%] tests/test_restore.py::TestExecuteCleanupDetailed::test_cleanup_finds_empty_subvolume PASSED [ 61%] tests/test_restore.py::TestExecuteCleanupDetailed::test_cleanup_finds_metadata_only PASSED [ 61%] tests/test_restore.py::TestExecuteCleanupDetailed::test_cleanup_no_partial_found PASSED [ 61%] tests/test_restore.py::TestExecuteCleanupDetailed::test_cleanup_user_cancels PASSED [ 61%] tests/test_restore.py::TestExecuteCleanupDetailed::test_cleanup_deletes_partial PASSED [ 61%] tests/test_restore.py::TestExecuteCleanupDetailed::test_cleanup_delete_fails PASSED [ 61%] tests/test_restore.py::TestExecuteCleanupDetailed::test_cleanup_delete_exception PASSED [ 61%] tests/test_restore.py::TestExecuteCleanupDetailed::test_cleanup_scan_error PASSED [ 61%] tests/test_restore.py::TestExecuteMainRestoreExtended::test_destination_validation_fails PASSED [ 61%] tests/test_restore.py::TestExecuteMainRestoreExtended::test_backup_endpoint_fails PASSED [ 61%] tests/test_restore.py::TestExecuteMainRestoreExtended::test_local_endpoint_fails PASSED [ 62%] tests/test_restore.py::TestExecuteMainRestoreExtended::test_invalid_before_datetime PASSED [ 62%] tests/test_restore.py::TestListSnapperBackups::test_empty_directory PASSED [ 62%] tests/test_restore.py::TestListSnapperBackups::test_no_snapshots_dir PASSED [ 62%] tests/test_restore.py::TestListSnapperBackups::test_finds_numbered_snapshots PASSED [ 62%] tests/test_restore.py::TestListSnapperBackups::test_ignores_non_numeric_directories PASSED [ 62%] tests/test_restore.py::TestListSnapperBackups::test_ignores_directories_without_snapshot_subdir PASSED [ 62%] tests/test_restore.py::TestListSnapperBackups::test_parses_info_xml PASSED [ 62%] tests/test_restore.py::TestListSnapperBackups::test_handles_invalid_info_xml PASSED [ 62%] tests/test_restore.py::TestListSnapperBackups::test_returns_sorted_by_number PASSED [ 62%] tests/test_restore.py::TestRestoreSnapperSnapshot::test_missing_snapper_config_raises_error PASSED [ 62%] tests/test_restore.py::TestRestoreSnapperSnapshot::test_missing_backup_snapshot_raises_error PASSED [ 62%] tests/test_restore.py::TestRestoreSnapperSnapshot::test_dry_run_returns_early PASSED [ 62%] tests/test_restore.py::TestRestoreSnapperSnapshot::test_parent_not_found_falls_back_to_full PASSED [ 62%] tests/test_retention.py::TestParseDuration::test_parse_minutes PASSED [ 62%] tests/test_retention.py::TestParseDuration::test_parse_hours PASSED [ 62%] tests/test_retention.py::TestParseDuration::test_parse_days PASSED [ 62%] tests/test_retention.py::TestParseDuration::test_parse_weeks PASSED [ 62%] tests/test_retention.py::TestParseDuration::test_parse_invalid_format PASSED [ 63%] tests/test_retention.py::TestParseDuration::test_parse_empty_string PASSED [ 63%] tests/test_retention.py::TestParseDuration::test_parse_no_unit PASSED [ 63%] tests/test_retention.py::TestParseDuration::test_parse_unknown_unit PASSED [ 63%] tests/test_retention.py::TestParseDuration::test_parse_float_value PASSED [ 63%] tests/test_retention.py::TestParseDuration::test_parse_case_sensitive PASSED [ 63%] tests/test_retention.py::TestParseDuration::test_parse_seconds PASSED [ 63%] tests/test_retention.py::TestParseDuration::test_parse_years PASSED [ 63%] tests/test_retention.py::TestExtractTimestamp::test_extract_standard_format PASSED [ 63%] tests/test_retention.py::TestExtractTimestamp::test_extract_with_prefix PASSED [ 63%] tests/test_retention.py::TestExtractTimestamp::test_extract_no_timestamp PASSED [ 63%] tests/test_retention.py::TestExtractTimestamp::test_extract_invalid_timestamp PASSED [ 63%] tests/test_retention.py::TestExtractTimestamp::test_extract_with_explicit_prefix PASSED [ 63%] tests/test_retention.py::TestExtractTimestamp::test_extract_underscore_format PASSED [ 63%] tests/test_retention.py::TestExtractTimestamp::test_extract_iso_format PASSED [ 63%] tests/test_retention.py::TestExtractTimestamp::test_extract_compact_format PASSED [ 63%] tests/test_retention.py::TestGetBucketKey::test_hourly_bucket PASSED [ 63%] tests/test_retention.py::TestGetBucketKey::test_daily_bucket PASSED [ 64%] tests/test_retention.py::TestGetBucketKey::test_weekly_bucket PASSED [ 64%] tests/test_retention.py::TestGetBucketKey::test_monthly_bucket PASSED [ 64%] tests/test_retention.py::TestGetBucketKey::test_yearly_bucket PASSED [ 64%] tests/test_retention.py::TestGetBucketKey::test_unknown_bucket_type PASSED [ 64%] tests/test_retention.py::TestApplyRetention::test_unparseable_timestamp_kept PASSED [ 64%] tests/test_retention.py::TestApplyRetention::test_custom_get_name_function PASSED [ 64%] tests/test_retention.py::TestApplyRetention::test_invalid_min_duration_defaults PASSED [ 64%] tests/test_retention.py::TestApplyRetention::test_with_prefix PASSED [ 64%] tests/test_retention.py::TestApplyRetention::test_keep_within_min_period PASSED [ 64%] tests/test_retention.py::TestApplyRetention::test_daily_retention PASSED [ 64%] tests/test_retention.py::TestApplyRetention::test_hourly_retention PASSED [ 64%] tests/test_retention.py::TestApplyRetention::test_empty_snapshot_list PASSED [ 64%] tests/test_retention.py::TestApplyRetention::test_always_keep_latest PASSED [ 64%] tests/test_retention.py::TestApplyRetention::test_combined_retention PASSED [ 64%] tests/test_retention.py::TestFormatRetentionSummary::test_basic_summary PASSED [ 64%] tests/test_retention.py::TestFormatRetentionSummary::test_empty_delete_list PASSED [ 64%] tests/test_retention.py::TestFormatRetentionSummary::test_custom_get_name PASSED [ 64%] tests/test_retention.py::TestFormatRetentionSummary::test_truncates_long_delete_list PASSED [ 65%] tests/test_retry.py::TestRetryPolicy::test_default_values PASSED [ 65%] tests/test_retry.py::TestRetryPolicy::test_custom_values PASSED [ 65%] tests/test_retry.py::TestRetryPolicy::test_calculate_delay_exponential PASSED [ 65%] tests/test_retry.py::TestRetryPolicy::test_calculate_delay_capped PASSED [ 65%] tests/test_retry.py::TestRetryPolicy::test_calculate_delay_with_jitter PASSED [ 65%] tests/test_retry.py::TestRetryPolicy::test_is_retryable_backup_error PASSED [ 65%] tests/test_retry.py::TestRetryPolicy::test_is_retryable_builtin_exceptions PASSED [ 65%] tests/test_retry.py::TestRetryPolicy::test_attempts_generator PASSED [ 65%] tests/test_retry.py::TestRetryAttempt::test_is_first_and_last PASSED [ 65%] tests/test_retry.py::TestRetryAttempt::test_should_retry_transient_error PASSED [ 65%] tests/test_retry.py::TestRetryAttempt::test_should_retry_permanent_error PASSED [ 65%] tests/test_retry.py::TestRetryAttempt::test_should_retry_last_attempt PASSED [ 65%] tests/test_retry.py::TestRetryAttempt::test_wait PASSED [ 65%] tests/test_retry.py::TestRetryAttempt::test_wait_on_last_attempt PASSED [ 65%] tests/test_retry.py::TestWithRetryDecorator::test_success_on_first_attempt PASSED [ 65%] tests/test_retry.py::TestWithRetryDecorator::test_success_after_retries PASSED [ 65%] tests/test_retry.py::TestWithRetryDecorator::test_failure_after_max_attempts PASSED [ 66%] tests/test_retry.py::TestWithRetryDecorator::test_permanent_error_no_retry PASSED [ 66%] tests/test_retry.py::TestWithRetryDecorator::test_with_policy_object PASSED [ 66%] tests/test_retry.py::TestRetryCall::test_success_returns_result PASSED [ 66%] tests/test_retry.py::TestRetryCall::test_failure_returns_result PASSED [ 66%] tests/test_retry.py::TestRetryCall::test_unwrap_success PASSED [ 66%] tests/test_retry.py::TestRetryCall::test_unwrap_failure PASSED [ 66%] tests/test_retry.py::TestRetryCall::test_with_args_and_kwargs PASSED [ 66%] tests/test_retry.py::TestRetryContext::test_success_on_first_attempt PASSED [ 66%] tests/test_retry.py::TestRetryContext::test_success_after_retries PASSED [ 66%] tests/test_retry.py::TestRetryContext::test_exhausted_after_max_attempts PASSED [ 66%] tests/test_retry.py::TestRetryContext::test_permanent_error_stops_retry PASSED [ 66%] tests/test_retry.py::TestRetryContext::test_with_dict_config PASSED [ 66%] tests/test_retry.py::TestDefaultPolicies::test_transfer_policy PASSED [ 66%] tests/test_retry.py::TestDefaultPolicies::test_network_policy PASSED [ 66%] tests/test_retry.py::TestDefaultPolicies::test_quick_policy PASSED [ 66%] tests/test_retry.py::TestAsyncRetry::test_wait_async PASSED [ 66%] tests/test_retry.py::TestAsyncRetry::test_wait_async_on_last_attempt PASSED [ 66%] tests/test_retry.py::TestAsyncRetry::test_with_retry_async_success PASSED [ 67%] tests/test_retry.py::TestAsyncRetry::test_with_retry_async_retries PASSED [ 67%] tests/test_retry.py::TestAsyncRetry::test_with_retry_async_failure PASSED [ 67%] tests/test_retry.py::TestAsyncRetry::test_with_retry_async_permanent_error PASSED [ 67%] tests/test_retry.py::TestAsyncRetry::test_with_retry_async_with_policy PASSED [ 67%] tests/test_retry.py::TestOnRetryCallback::test_on_retry_callback_called PASSED [ 67%] tests/test_retry.py::TestOnRetryCallback::test_on_retry_callback_async PASSED [ 67%] tests/test_retry.py::TestRetryResultUnwrap::test_unwrap_no_error_recorded PASSED [ 67%] tests/test_retry.py::TestRetryContextEdgeCases::test_context_with_none_policy PASSED [ 67%] tests/test_retry.py::TestRetryContextEdgeCases::test_wait_when_exhausted PASSED [ 67%] tests/test_snapper_cmd.py::TestHandleDetect::test_snapper_not_found PASSED [ 67%] tests/test_snapper_cmd.py::TestHandleDetect::test_snapper_not_found_json PASSED [ 67%] tests/test_snapper_cmd.py::TestHandleDetect::test_no_configs_found PASSED [ 67%] tests/test_snapper_cmd.py::TestHandleDetect::test_detect_configs PASSED [ 67%] tests/test_snapper_cmd.py::TestHandleDetect::test_detect_configs_with_users PASSED [ 67%] tests/test_snapper_cmd.py::TestHandleDetect::test_detect_json_output PASSED [ 67%] tests/test_snapper_cmd.py::TestHandleList::test_snapper_not_found PASSED [ 67%] tests/test_snapper_cmd.py::TestHandleList::test_snapper_not_found_json PASSED [ 67%] tests/test_snapper_cmd.py::TestHandleList::test_no_configs_found PASSED [ 68%] tests/test_snapper_cmd.py::TestHandleList::test_config_not_found PASSED [ 68%] tests/test_snapper_cmd.py::TestHandleList::test_list_snapshots PASSED [ 68%] tests/test_snapper_cmd.py::TestHandleList::test_list_specific_config PASSED [ 68%] tests/test_snapper_cmd.py::TestHandleList::test_list_with_type_filter PASSED [ 68%] tests/test_snapper_cmd.py::TestHandleList::test_list_no_snapshots PASSED [ 68%] tests/test_snapper_cmd.py::TestHandleList::test_list_json_output PASSED [ 68%] tests/test_snapper_cmd.py::TestHandleList::test_list_handles_snapshot_exception PASSED [ 68%] tests/test_snapper_cmd.py::TestHandleStatus::test_snapper_not_found PASSED [ 68%] tests/test_snapper_cmd.py::TestHandleStatus::test_no_configs_found PASSED [ 68%] tests/test_snapper_cmd.py::TestHandleStatus::test_status_local_only PASSED [ 68%] tests/test_snapper_cmd.py::TestHandleStatus::test_status_json_output PASSED [ 68%] tests/test_snapper_cmd.py::TestHandleStatus::test_status_specific_config PASSED [ 68%] tests/test_snapper_cmd.py::TestHandleStatus::test_status_config_not_found PASSED [ 68%] tests/test_snapper_cmd.py::TestHandleStatus::test_status_with_target PASSED [ 68%] tests/test_snapper_cmd.py::TestHandleStatus::test_status_target_access_error PASSED [ 68%] tests/test_snapper_cmd.py::TestGenerateSnapperToml::test_basic_volume PASSED [ 68%] tests/test_snapper_cmd.py::TestGenerateSnapperToml::test_volume_with_target PASSED [ 69%] tests/test_snapper_cmd.py::TestGenerateSnapperToml::test_volume_with_ssh_sudo PASSED [ 69%] tests/test_snapper_cmd.py::TestGenerateSnapperToml::test_multiple_volumes PASSED [ 69%] tests/test_snapper_cmd.py::TestGenerateSnapperToml::test_header_comments PASSED [ 69%] tests/test_snapper_cmd.py::TestHandleGenerateConfig::test_snapper_not_found PASSED [ 69%] tests/test_snapper_cmd.py::TestHandleGenerateConfig::test_snapper_not_found_json PASSED [ 69%] tests/test_snapper_cmd.py::TestHandleGenerateConfig::test_no_configs_found PASSED [ 69%] tests/test_snapper_cmd.py::TestHandleGenerateConfig::test_generate_all_configs PASSED [ 69%] tests/test_snapper_cmd.py::TestHandleGenerateConfig::test_generate_specific_config PASSED [ 69%] tests/test_snapper_cmd.py::TestHandleGenerateConfig::test_generate_with_target PASSED [ 69%] tests/test_snapper_cmd.py::TestHandleGenerateConfig::test_generate_with_ssh_sudo PASSED [ 69%] tests/test_snapper_cmd.py::TestHandleGenerateConfig::test_generate_with_custom_types PASSED [ 69%] tests/test_snapper_cmd.py::TestHandleGenerateConfig::test_generate_json_output PASSED [ 69%] tests/test_snapper_cmd.py::TestHandleGenerateConfig::test_generate_to_file PASSED [ 69%] tests/test_snapper_cmd.py::TestHandleGenerateConfig::test_missing_config_warning PASSED [ 69%] tests/test_snapper_cmd.py::TestAppendToConfig::test_append_to_existing PASSED [ 69%] tests/test_snapper_cmd.py::TestAppendToConfig::test_append_nonexistent_file PASSED [ 69%] tests/test_snapper_cmd.py::TestHandleBackup::test_snapper_not_found PASSED [ 69%] tests/test_snapper_cmd.py::TestHandleBackup::test_config_not_found PASSED [ 70%] tests/test_snapper_cmd.py::TestHandleBackup::test_dry_run_all_snapshots PASSED [ 70%] tests/test_snapper_cmd.py::TestHandleBackup::test_dry_run_specific_snapshot PASSED [ 70%] tests/test_snapper_cmd.py::TestHandleBackup::test_snapshot_not_found PASSED [ 70%] tests/test_snapper_cmd.py::TestHandleRestore::test_list_mode PASSED [ 70%] tests/test_snapper_cmd.py::TestHandleRestore::test_list_mode_json PASSED [ 70%] tests/test_snapper_cmd.py::TestHandleRestore::test_list_mode_no_backups PASSED [ 70%] tests/test_snapper_cmd.py::TestHandleRestore::test_list_mode_error PASSED [ 70%] tests/test_snapper_cmd.py::TestHandleRestore::test_snapper_not_found PASSED [ 70%] tests/test_snapper_cmd.py::TestHandleRestore::test_config_not_found PASSED [ 70%] tests/test_snapper_cmd.py::TestHandleRestore::test_no_snapshot_specified PASSED [ 70%] tests/test_snapper_cmd.py::TestExecuteSnapper::test_no_action PASSED [ 70%] tests/test_snapper_cmd.py::TestExecuteSnapper::test_unknown_action PASSED [ 70%] tests/test_snapper_cmd.py::TestExecuteSnapper::test_dispatch_generate_config PASSED [ 70%] tests/test_snapper_metadata.py::TestSnapperMetadata::test_create_basic_metadata PASSED [ 70%] tests/test_snapper_metadata.py::TestSnapperMetadata::test_create_post_metadata PASSED [ 70%] tests/test_snapper_metadata.py::TestSnapperMetadata::test_to_dict PASSED [ 70%] tests/test_snapper_metadata.py::TestSnapperMetadata::test_from_dict PASSED [ 70%] tests/test_snapper_metadata.py::TestSnapperMetadata::test_roundtrip_dict PASSED [ 71%] tests/test_snapper_metadata.py::TestParseInfoXml::test_parse_single_snapshot PASSED [ 71%] tests/test_snapper_metadata.py::TestParseInfoXml::test_parse_post_snapshot PASSED [ 71%] tests/test_snapper_metadata.py::TestParseInfoXml::test_parse_with_userdata PASSED [ 71%] tests/test_snapper_metadata.py::TestParseInfoXml::test_parse_minimal_xml PASSED [ 71%] tests/test_snapper_metadata.py::TestParseInfoXml::test_parse_missing_file PASSED [ 71%] tests/test_snapper_metadata.py::TestParseInfoXml::test_parse_invalid_xml PASSED [ 71%] tests/test_snapper_metadata.py::TestParseInfoXml::test_parse_missing_type PASSED [ 71%] tests/test_snapper_metadata.py::TestParseInfoXml::test_parse_wrong_root PASSED [ 71%] tests/test_snapper_metadata.py::TestGenerateInfoXml::test_generate_basic PASSED [ 71%] tests/test_snapper_metadata.py::TestGenerateInfoXml::test_generate_with_pre_num PASSED [ 71%] tests/test_snapper_metadata.py::TestGenerateInfoXml::test_generate_with_userdata PASSED [ 71%] tests/test_snapper_metadata.py::TestGenerateInfoXml::test_generate_escapes_special_chars PASSED [ 71%] tests/test_snapper_metadata.py::TestGenerateInfoXml::test_roundtrip_xml PASSED [ 71%] tests/test_snapper_metadata.py::TestBackupMetadata::test_from_snapper_metadata PASSED [ 71%] tests/test_snapper_metadata.py::TestBackupMetadata::test_to_snapper_metadata PASSED [ 71%] tests/test_snapper_metadata.py::TestSaveLoadBackupMetadata::test_save_and_load PASSED [ 71%] tests/test_snapper_metadata.py::TestSaveLoadBackupMetadata::test_load_missing_file PASSED [ 72%] tests/test_snapper_metadata.py::TestSaveLoadBackupMetadata::test_load_invalid_json PASSED [ 72%] tests/test_snapper_metadata.py::TestSaveLoadBackupMetadata::test_saved_file_is_valid_json PASSED [ 72%] tests/test_snapper_scanner.py::TestSnapperConfig::test_create_basic_config PASSED [ 72%] tests/test_snapper_scanner.py::TestSnapperConfig::test_snapshots_dir PASSED [ 72%] tests/test_snapper_scanner.py::TestSnapperConfig::test_is_valid_with_mock_fs PASSED [ 72%] tests/test_snapper_scanner.py::TestSnapperConfig::test_is_valid_wrong_fstype PASSED [ 72%] tests/test_snapper_scanner.py::TestSnapperConfig::test_is_valid_missing_snapshots_dir PASSED [ 72%] tests/test_snapper_scanner.py::TestSnapperScanner::test_init_default PASSED [ 72%] tests/test_snapper_scanner.py::TestSnapperScanner::test_init_custom_dir PASSED [ 72%] tests/test_snapper_scanner.py::TestSnapperScanner::test_list_configs_no_dir PASSED [ 72%] tests/test_snapper_scanner.py::TestSnapperScanner::test_list_configs_empty PASSED [ 72%] tests/test_snapper_scanner.py::TestSnapperScanner::test_list_configs_parses_files PASSED [ 72%] tests/test_snapper_scanner.py::TestSnapperScanner::test_get_config_exists PASSED [ 72%] tests/test_snapper_scanner.py::TestSnapperScanner::test_get_config_not_exists PASSED [ 72%] tests/test_snapper_scanner.py::TestSnapperScanner::test_find_config_for_path PASSED [ 72%] tests/test_snapper_scanner.py::TestSnapperScanner::test_parse_config_with_comments PASSED [ 72%] tests/test_snapper_scanner.py::TestSnapperScanner::test_parse_config_allow_groups PASSED [ 72%] tests/test_snapper_scanner.py::TestSnapperScanner::test_parse_config_sync_acl PASSED [ 73%] tests/test_snapper_scanner.py::TestSnapperScannerSnapshots::test_get_snapshots_via_filesystem PASSED [ 73%] tests/test_snapper_scanner.py::TestSnapperScannerSnapshots::test_get_snapshots_filters_by_type PASSED [ 73%] tests/test_snapper_scanner.py::TestSnapperScannerSnapshots::test_get_snapshots_excludes_cleanup PASSED [ 73%] tests/test_snapper_scanner.py::TestSnapperScannerSnapshots::test_get_snapshots_skips_invalid PASSED [ 73%] tests/test_snapper_scanner.py::TestSnapperScannerSnapshots::test_get_snapshot_specific PASSED [ 73%] tests/test_snapper_scanner.py::TestSnapperScannerSnapshots::test_get_snapshot_not_found PASSED [ 73%] tests/test_snapper_scanner.py::TestSnapperScannerSnapshots::test_get_next_snapshot_number PASSED [ 73%] tests/test_snapper_scanner.py::TestSnapperScannerSnapshots::test_get_next_snapshot_number_empty PASSED [ 73%] tests/test_snapper_scanner.py::TestSnapperScannerCommand::test_is_snapper_available_not_found PASSED [ 73%] tests/test_snapper_scanner.py::TestSnapperScannerCommand::test_is_snapper_available_found PASSED [ 73%] tests/test_snapper_scanner.py::TestSnapperScannerCommand::test_get_snapshots_via_command PASSED [ 73%] tests/test_snapper_scanner.py::TestSnapperScannerEdgeCases::test_list_configs_skips_directories PASSED [ 73%] tests/test_snapper_scanner.py::TestSnapperScannerEdgeCases::test_list_configs_handles_parse_error PASSED [ 73%] tests/test_snapper_scanner.py::TestSnapperScannerEdgeCases::test_get_config_handles_parse_error PASSED [ 73%] tests/test_snapper_scanner.py::TestSnapperScannerEdgeCases::test_get_snapshots_invalid_config_name PASSED [ 73%] tests/test_snapper_scanner.py::TestSnapperScannerEdgeCases::test_get_snapshots_command_fallback PASSED [ 73%] tests/test_snapper_scanner.py::TestSnapperScannerEdgeCases::test_parse_config_invalid_space_limit PASSED [ 74%] tests/test_snapper_scanner.py::TestSnapperScannerEdgeCases::test_parse_config_invalid_free_limit PASSED [ 74%] tests/test_snapper_scanner.py::TestSnapperScannerEdgeCases::test_find_config_for_path_no_match PASSED [ 74%] tests/test_snapper_scanner.py::TestSnapperSnapshot::test_get_backup_name PASSED [ 74%] tests/test_snapper_scanner.py::TestSnapperSnapshot::test_snapshot_ordering PASSED [ 74%] tests/test_snapper_scanner.py::TestSnapperSnapshot::test_snapshot_equality PASSED [ 74%] tests/test_snapper_scanner.py::TestSnapperSnapshot::test_snapshot_hash PASSED [ 74%] tests/test_snapper_scanner.py::TestSnapperSnapshot::test_snapshot_exists PASSED [ 74%] tests/test_snapper_scanner.py::TestSnapperSnapshot::test_snapshot_repr PASSED [ 74%] tests/test_snapper_scanner.py::TestSnapperSnapshot::test_snapshot_lt_not_implemented PASSED [ 74%] tests/test_snapper_scanner.py::TestSnapperSnapshot::test_snapshot_eq_with_non_snapshot PASSED [ 74%] tests/test_space.py::TestSpaceInfo::test_basic_space_info PASSED [ 74%] tests/test_space.py::TestSpaceInfo::test_space_info_with_quotas PASSED [ 74%] tests/test_space.py::TestSpaceInfo::test_quota_remaining PASSED [ 74%] tests/test_space.py::TestSpaceInfo::test_quota_remaining_no_quota PASSED [ 74%] tests/test_space.py::TestSpaceInfo::test_quota_remaining_no_limit PASSED [ 74%] tests/test_space.py::TestSpaceInfo::test_quota_remaining_no_usage_info PASSED [ 74%] tests/test_space.py::TestSpaceInfo::test_effective_available_no_quota PASSED [ 74%] tests/test_space.py::TestSpaceInfo::test_effective_available_quota_more_restrictive PASSED [ 75%] tests/test_space.py::TestSpaceInfo::test_effective_available_fs_more_restrictive PASSED [ 75%] tests/test_space.py::TestSpaceCheck::test_basic_space_check PASSED [ 75%] tests/test_space.py::TestSpaceCheck::test_insufficient_space_check PASSED [ 75%] tests/test_space.py::TestGetFilesystemSpace::test_local_statvfs PASSED [ 75%] tests/test_space.py::TestGetFilesystemSpace::test_local_statvfs_nonexistent_path PASSED [ 75%] tests/test_space.py::TestGetFilesystemSpace::test_remote_execution PASSED [ 75%] tests/test_space.py::TestGetFilesystemSpace::test_remote_execution_bytes_output PASSED [ 75%] tests/test_space.py::TestGetBtrfsQuotaInfo::test_quotas_enabled_with_limit PASSED [ 75%] tests/test_space.py::TestGetBtrfsQuotaInfo::test_quotas_enabled_no_limit PASSED [ 75%] tests/test_space.py::TestGetBtrfsQuotaInfo::test_quotas_not_enabled PASSED [ 75%] tests/test_space.py::TestGetBtrfsQuotaInfo::test_uses_sudo_when_not_root PASSED [ 75%] tests/test_space.py::TestGetBtrfsQuotaInfo::test_no_sudo_when_root PASSED [ 75%] tests/test_space.py::TestGetBtrfsQuotaInfo::test_timeout_handling PASSED [ 75%] tests/test_space.py::TestGetBtrfsQuotaInfo::test_btrfs_not_found PASSED [ 75%] tests/test_space.py::TestGetBtrfsQuotaInfo::test_remote_execution PASSED [ 75%] tests/test_space.py::TestGetBtrfsQuotaInfo::test_remote_execution_failure PASSED [ 75%] tests/test_space.py::TestParseQgroupOutput::test_standard_output_with_limit PASSED [ 75%] tests/test_space.py::TestParseQgroupOutput::test_standard_output_no_limit PASSED [ 76%] tests/test_space.py::TestParseQgroupOutput::test_multiple_qgroups PASSED [ 76%] tests/test_space.py::TestParseQgroupOutput::test_empty_output PASSED [ 76%] tests/test_space.py::TestParseQgroupOutput::test_header_only_output PASSED [ 76%] tests/test_space.py::TestParseQgroupOutput::test_malformed_line PASSED [ 76%] tests/test_space.py::TestCheckSpaceAvailability::test_sufficient_space_no_quota PASSED [ 76%] tests/test_space.py::TestCheckSpaceAvailability::test_insufficient_space_no_quota PASSED [ 76%] tests/test_space.py::TestCheckSpaceAvailability::test_quota_more_restrictive PASSED [ 76%] tests/test_space.py::TestCheckSpaceAvailability::test_safety_margin_applied PASSED [ 76%] tests/test_space.py::TestCheckSpaceAvailability::test_minimum_safety_margin PASSED [ 76%] tests/test_space.py::TestCheckSpaceAvailability::test_custom_safety_margin PASSED [ 76%] tests/test_space.py::TestCheckSpaceAvailability::test_available_after_calculation PASSED [ 76%] tests/test_space.py::TestCheckSpaceAvailability::test_low_space_warning PASSED [ 76%] tests/test_space.py::TestCheckSpaceAvailability::test_zero_required_bytes PASSED [ 76%] tests/test_space.py::TestGetSpaceInfo::test_no_quotas PASSED [ 76%] tests/test_space.py::TestGetSpaceInfo::test_with_quotas PASSED [ 76%] tests/test_space.py::TestGetSpaceInfo::test_passes_exec_func PASSED [ 76%] tests/test_space.py::TestFormatSize::test_format_bytes PASSED [ 77%] tests/test_space.py::TestFormatSize::test_format_kibibytes PASSED [ 77%] tests/test_space.py::TestFormatSize::test_format_mebibytes PASSED [ 77%] tests/test_space.py::TestFormatSize::test_format_gibibytes PASSED [ 77%] tests/test_space.py::TestFormatSize::test_format_tebibytes PASSED [ 77%] tests/test_space.py::TestFormatSpaceCheck::test_format_sufficient_space_no_quota PASSED [ 77%] tests/test_space.py::TestFormatSpaceCheck::test_format_insufficient_space PASSED [ 77%] tests/test_space.py::TestFormatSpaceCheck::test_format_with_quota PASSED [ 77%] tests/test_space.py::TestFormatSpaceCheck::test_format_with_quota_fs_more_restrictive PASSED [ 77%] tests/test_space.py::TestFormatSpaceCheck::test_format_with_quota_no_limit PASSED [ 77%] tests/test_space.py::TestFormatSpaceCheck::test_format_with_warning PASSED [ 77%] tests/test_space.py::TestInsufficientSpaceError::test_exception_exists PASSED [ 77%] tests/test_space.py::TestInsufficientSpaceError::test_exception_can_be_raised PASSED [ 77%] tests/test_space.py::TestInsufficientSpaceError::test_exception_message PASSED [ 77%] tests/test_ssh_endpoint.py::TestBuildReceiveCommand::test_basic_receive_no_sudo PASSED [ 77%] tests/test_ssh_endpoint.py::TestBuildReceiveCommand::test_receive_with_passwordless_sudo PASSED [ 77%] tests/test_ssh_endpoint.py::TestBuildReceiveCommand::test_receive_with_password_sudo PASSED [ 77%] tests/test_ssh_endpoint.py::TestBuildReceiveCommand::test_uses_exec_for_direct_signal_handling PASSED [ 77%] tests/test_ssh_endpoint.py::TestBuildReceiveCommand::test_traps_pipe_signal PASSED [ 78%] tests/test_ssh_endpoint.py::TestBuildReceiveCommand::test_escaped_path_preserved PASSED [ 78%] tests/test_ssh_endpoint.py::TestBuildReceiveCommand::test_default_idle_timeout_constant PASSED [ 78%] tests/test_ssh_endpoint.py::TestBuildReceiveCommand::test_no_password_uses_sudo_n PASSED [ 78%] tests/test_ssh_endpoint.py::TestBuildReceiveCommand::test_password_mode_uses_sudo_s PASSED [ 78%] tests/test_state.py::TestTransferCheckpoint::test_creation PASSED [ 78%] tests/test_state.py::TestTransferCheckpoint::test_serialization PASSED [ 78%] tests/test_state.py::TestTargetState::test_creation PASSED [ 78%] tests/test_state.py::TestTargetState::test_transfer_counts PASSED [ 78%] tests/test_state.py::TestTargetState::test_serialization PASSED [ 78%] tests/test_state.py::TestOperationRecord::test_creation PASSED [ 78%] tests/test_state.py::TestOperationRecord::test_is_resumable PASSED [ 78%] tests/test_state.py::TestOperationRecord::test_is_complete PASSED [ 78%] tests/test_state.py::TestOperationRecord::test_transfer_counts PASSED [ 78%] tests/test_state.py::TestOperationRecord::test_get_pending_transfers PASSED [ 78%] tests/test_state.py::TestOperationRecord::test_serialization PASSED [ 78%] tests/test_state.py::TestOperationRecord::test_save_and_load PASSED [ 78%] tests/test_state.py::TestOperationManager::test_create_operation PASSED [ 79%] tests/test_state.py::TestOperationManager::test_get_operation_not_found PASSED [ 79%] tests/test_state.py::TestOperationManager::test_update_operation PASSED [ 79%] tests/test_state.py::TestOperationManager::test_list_operations PASSED [ 79%] tests/test_state.py::TestOperationManager::test_get_resumable_operations PASSED [ 79%] tests/test_state.py::TestOperationManager::test_archive_operation PASSED [ 79%] tests/test_state.py::TestOperationManager::test_archive_incomplete_fails PASSED [ 79%] tests/test_state.py::TestOperationManager::test_delete_operation PASSED [ 79%] tests/test_state.py::TestOperationManager::test_delete_active_requires_force PASSED [ 79%] tests/test_state.py::TestOperationManager::test_detect_stale_operations PASSED [ 79%] tests/test_state.py::TestOperationManager::test_cleanup_old_operations PASSED [ 79%] tests/test_state.py::TestOperationManager::test_cleanup_old_operations_no_archive PASSED [ 79%] tests/test_state.py::TestOperationManager::test_cleanup_old_operations_keeps_recent PASSED [ 79%] tests/test_state.py::TestOperationManager::test_get_operation_from_archive PASSED [ 79%] tests/test_state.py::TestOperationManager::test_archive_nonexistent_operation PASSED [ 79%] tests/test_state.py::TestOperationManager::test_delete_nonexistent_operation PASSED [ 79%] tests/test_state.py::TestOperationContext::test_basic_usage PASSED [ 79%] tests/test_state.py::TestOperationContext::test_exception_handling PASSED [ 79%] tests/test_state.py::TestOperationContext::test_transfer_tracking PASSED [ 80%] tests/test_state.py::TestOperationContext::test_resume_operation PASSED [ 80%] tests/test_state.py::TestOperationContext::test_skip_transfer PASSED [ 80%] tests/test_systemd_utils.py::TestRunSystemctl::test_run_systemctl_success PASSED [ 80%] tests/test_systemd_utils.py::TestRunSystemctl::test_run_systemctl_not_found PASSED [ 80%] tests/test_systemd_utils.py::TestGetUnitStatus::test_get_unit_status_enabled_active PASSED [ 80%] tests/test_systemd_utils.py::TestGetUnitStatus::test_get_unit_status_not_exists PASSED [ 80%] tests/test_systemd_utils.py::TestFindBtrbkUnits::test_find_btrbk_units_none PASSED [ 80%] tests/test_systemd_utils.py::TestFindBtrbkUnits::test_find_btrbk_units_found PASSED [ 80%] tests/test_systemd_utils.py::TestDisableUnit::test_disable_unit_success PASSED [ 80%] tests/test_systemd_utils.py::TestDisableUnit::test_disable_unit_failure PASSED [ 80%] tests/test_systemd_utils.py::TestDisableUnit::test_disable_unit_stop_fails_but_disable_succeeds PASSED [ 80%] tests/test_systemd_utils.py::TestEnableUnit::test_enable_unit_success PASSED [ 80%] tests/test_systemd_utils.py::TestEnableUnit::test_enable_unit_with_start PASSED [ 80%] tests/test_systemd_utils.py::TestMigrateFromBtrbk::test_migrate_no_btrbk_units PASSED [ 80%] tests/test_systemd_utils.py::TestMigrateFromBtrbk::test_migrate_dry_run PASSED [ 80%] tests/test_systemd_utils.py::TestGetMigrationSummary::test_get_migration_summary PASSED [ 80%] tests/test_systemd_utils.py::TestConstants::test_btrbk_unit_names PASSED [ 80%] tests/test_systemd_utils.py::TestConstants::test_backup_ng_unit_names PASSED [ 81%] tests/test_systemd_utils.py::TestGetUnitStatusWithPath::test_get_unit_status_with_file_path PASSED [ 81%] tests/test_systemd_utils.py::TestFindBackupNgUnits::test_find_backup_ng_units_none PASSED [ 81%] tests/test_systemd_utils.py::TestFindBackupNgUnits::test_find_backup_ng_units_found PASSED [ 81%] tests/test_systemd_utils.py::TestMigrateWithUnits::test_migrate_with_backup_ng_timer PASSED [ 81%] tests/test_systemd_utils.py::TestMigrateWithUnits::test_migrate_disable_failure PASSED [ 81%] tests/test_systemd_utils.py::TestMigrateWithUnits::test_migrate_with_active_btrbk PASSED [ 81%] tests/test_systemd_utils.py::TestEnableUnitFailures::test_enable_unit_failure PASSED [ 81%] tests/test_systemd_utils.py::TestEnableUnitFailures::test_enable_unit_start_failure PASSED [ 81%] tests/test_systemd_utils.py::TestDisableUnitNoStop::test_disable_unit_no_stop PASSED [ 81%] tests/test_systemd_utils.py::TestFindBtrbkInstanceUnits::test_find_btrbk_instance_units PASSED [ 81%] tests/test_systemd_utils.py::TestFindBtrbkInstanceUnits::test_find_btrbk_instance_services PASSED [ 81%] tests/test_systemd_utils.py::TestFindBtrbkInstanceUnits::test_find_btrbk_skips_nonexistent_paths PASSED [ 81%] tests/test_systemd_utils.py::TestMigrateEnableFailure::test_migrate_enable_failure PASSED [ 81%] tests/test_systemd_utils.py::TestMigrateEnableFailure::test_migrate_with_already_enabled_timer PASSED [ 81%] tests/test_systemd_utils.py::TestRunSystemctlWithCheck::test_run_systemctl_with_check_true PASSED [ 81%] tests/test_systemd_utils.py::TestRunSystemctlWithCheck::test_run_systemctl_no_capture PASSED [ 81%] tests/test_transaction.py::TestSetTransactionLog::test_set_log_path PASSED [ 82%] tests/test_transaction.py::TestSetTransactionLog::test_set_log_path_creates_parent_dirs PASSED [ 82%] tests/test_transaction.py::TestSetTransactionLog::test_set_log_path_to_none PASSED [ 82%] tests/test_transaction.py::TestSetTransactionLog::test_set_log_path_with_string PASSED [ 82%] tests/test_transaction.py::TestLogTransaction::test_log_when_disabled PASSED [ 82%] tests/test_transaction.py::TestLogTransaction::test_log_basic_transaction PASSED [ 82%] tests/test_transaction.py::TestLogTransaction::test_log_transaction_with_all_fields PASSED [ 82%] tests/test_transaction.py::TestLogTransaction::test_log_transaction_with_error PASSED [ 82%] tests/test_transaction.py::TestLogTransaction::test_log_multiple_transactions PASSED [ 82%] tests/test_transaction.py::TestLogTransaction::test_log_handles_write_error PASSED [ 82%] tests/test_transaction.py::TestLogTransaction::test_log_thread_safety PASSED [ 82%] tests/test_transaction.py::TestTransactionContext::test_context_basic_success PASSED [ 82%] tests/test_transaction.py::TestTransactionContext::test_context_with_exception PASSED [ 82%] tests/test_transaction.py::TestTransactionContext::test_context_set_snapshot PASSED [ 82%] tests/test_transaction.py::TestTransactionContext::test_context_set_parent PASSED [ 82%] tests/test_transaction.py::TestTransactionContext::test_context_set_size PASSED [ 82%] tests/test_transaction.py::TestTransactionContext::test_context_add_detail PASSED [ 82%] tests/test_transaction.py::TestTransactionContext::test_context_fail_method PASSED [ 82%] tests/test_transaction.py::TestTransactionContext::test_context_measures_duration PASSED [ 83%] tests/test_transaction.py::TestTransactionContext::test_context_full_parameters PASSED [ 83%] tests/test_transaction.py::TestReadTransactionLog::test_read_empty_log PASSED [ 83%] tests/test_transaction.py::TestReadTransactionLog::test_read_nonexistent_log PASSED [ 83%] tests/test_transaction.py::TestReadTransactionLog::test_read_when_path_is_none PASSED [ 83%] tests/test_transaction.py::TestReadTransactionLog::test_read_with_limit PASSED [ 83%] tests/test_transaction.py::TestReadTransactionLog::test_read_with_action_filter PASSED [ 83%] tests/test_transaction.py::TestReadTransactionLog::test_read_with_status_filter PASSED [ 83%] tests/test_transaction.py::TestReadTransactionLog::test_read_with_both_filters PASSED [ 83%] tests/test_transaction.py::TestReadTransactionLog::test_read_uses_global_path PASSED [ 83%] tests/test_transaction.py::TestReadTransactionLog::test_read_handles_malformed_json PASSED [ 83%] tests/test_transaction.py::TestReadTransactionLog::test_read_handles_blank_lines PASSED [ 83%] tests/test_transaction.py::TestReadTransactionLog::test_read_returns_most_recent_first PASSED [ 83%] tests/test_transaction.py::TestReadTransactionLog::test_read_handles_oserror PASSED [ 83%] tests/test_transaction.py::TestGetTransactionStats::test_stats_empty_log PASSED [ 83%] tests/test_transaction.py::TestGetTransactionStats::test_stats_nonexistent_log PASSED [ 83%] tests/test_transaction.py::TestGetTransactionStats::test_stats_with_transfers PASSED [ 83%] tests/test_transaction.py::TestGetTransactionStats::test_stats_with_snapshots PASSED [ 83%] tests/test_transaction.py::TestGetTransactionStats::test_stats_with_deletes PASSED [ 84%] tests/test_transaction.py::TestGetTransactionStats::test_stats_mixed_actions PASSED [ 84%] tests/test_transaction.py::TestGetTransactionStats::test_stats_uses_global_path PASSED [ 84%] tests/test_transaction.py::TestGetTransactionStats::test_stats_ignores_started_status PASSED [ 84%] tests/test_transaction.py::TestGetTransactionStats::test_stats_handles_missing_size_bytes PASSED [ 84%] tests/test_transfer.py::TestParseRateLimit::test_parse_kilobytes PASSED [ 84%] tests/test_transfer.py::TestParseRateLimit::test_parse_megabytes PASSED [ 84%] tests/test_transfer.py::TestParseRateLimit::test_parse_gigabytes PASSED [ 84%] tests/test_transfer.py::TestParseRateLimit::test_parse_bytes PASSED [ 84%] tests/test_transfer.py::TestParseRateLimit::test_parse_none PASSED [ 84%] tests/test_transfer.py::TestParseRateLimit::test_parse_empty_string PASSED [ 84%] tests/test_transfer.py::TestParseRateLimit::test_parse_invalid PASSED [ 84%] tests/test_transfer.py::TestParseRateLimit::test_parse_whitespace PASSED [ 84%] tests/test_transfer.py::TestParseRateLimit::test_parse_float_value PASSED [ 84%] tests/test_transfer.py::TestCheckCompressionAvailable::test_none_always_available PASSED [ 84%] tests/test_transfer.py::TestCheckCompressionAvailable::test_unknown_method PASSED [ 84%] tests/test_transfer.py::TestCheckCompressionAvailable::test_gzip_available PASSED [ 84%] tests/test_transfer.py::TestCheckCompressionAvailable::test_compression_not_installed PASSED [ 85%] tests/test_transfer.py::TestCheckPvAvailable::test_pv_available PASSED [ 85%] tests/test_transfer.py::TestCheckPvAvailable::test_pv_not_available PASSED [ 85%] tests/test_transfer.py::TestGetAvailableCompressionMethods::test_always_includes_none PASSED [ 85%] tests/test_transfer.py::TestGetAvailableCompressionMethods::test_includes_available_methods PASSED [ 85%] tests/test_transfer.py::TestCompressionPrograms::test_has_required_keys PASSED [ 85%] tests/test_transfer.py::TestCompressionPrograms::test_compress_is_list PASSED [ 85%] tests/test_transfer.py::TestCompressionPrograms::test_known_methods_exist PASSED [ 85%] tests/test_transfer.py::TestCreateCompressProcess::test_none_compression_returns_none PASSED [ 85%] tests/test_transfer.py::TestCreateCompressProcess::test_empty_compression_returns_none PASSED [ 85%] tests/test_transfer.py::TestCreateCompressProcess::test_unknown_method_returns_none PASSED [ 85%] tests/test_transfer.py::TestCreateCompressProcess::test_unavailable_program_returns_none PASSED [ 85%] tests/test_transfer.py::TestCreateDecompressProcess::test_none_compression_returns_none PASSED [ 85%] tests/test_transfer.py::TestCreateDecompressProcess::test_empty_compression_returns_none PASSED [ 85%] tests/test_transfer.py::TestCreateThrottleProcess::test_no_rate_limit_returns_none PASSED [ 85%] tests/test_transfer.py::TestCreateThrottleProcess::test_pv_not_available_returns_none PASSED [ 85%] tests/test_transfer.py::TestBuildTransferPipeline::test_no_compression_no_throttle PASSED [ 85%] tests/test_transfer.py::TestBuildTransferPipeline::test_with_compression PASSED [ 85%] tests/test_transfer.py::TestCleanupPipeline::test_cleanup_empty_list PASSED [ 86%] tests/test_transfer.py::TestCleanupPipeline::test_cleanup_terminates_running PASSED [ 86%] tests/test_transfer.py::TestCleanupPipeline::test_cleanup_skips_finished PASSED [ 86%] tests/test_transfer.py::TestWaitForPipeline::test_wait_empty_list PASSED [ 86%] tests/test_transfer.py::TestWaitForPipeline::test_wait_successful_processes PASSED [ 86%] tests/test_transfer.py::TestWaitForPipeline::test_wait_failed_process PASSED [ 86%] tests/test_transfer.py::TestWaitForPipeline::test_wait_timeout PASSED [ 86%] tests/test_transfer.py::TestCreateDecompressProcessMore::test_unknown_method_returns_none PASSED [ 86%] tests/test_transfer.py::TestCreateDecompressProcessMore::test_unavailable_program_returns_none PASSED [ 86%] tests/test_transfer.py::TestCreateThrottleProcessMore::test_invalid_rate_returns_none PASSED [ 86%] tests/test_transfer.py::TestCreateThrottleProcessMore::test_creates_pv_process PASSED [ 86%] tests/test_transfer.py::TestCreateThrottleProcessMore::test_quiet_mode PASSED [ 86%] tests/test_transfer.py::TestBuildTransferPipelineMore::test_with_throttle PASSED [ 86%] tests/test_transfer.py::TestBuildTransferPipelineMore::test_with_compression_and_throttle PASSED [ 86%] tests/test_transfer.py::TestParseRateLimitMore::test_lowercase_units PASSED [ 86%] tests/test_transfer.py::TestParseRateLimitMore::test_zero_value PASSED [ 86%] tests/test_transfer.py::TestParseRateLimitMore::test_large_values PASSED [ 86%] tests/test_transfer.py::TestParseRateLimitMore::test_invalid_number_with_suffix PASSED [ 87%] tests/test_transfer.py::TestParseRateLimitMore::test_invalid_number_without_suffix PASSED [ 87%] tests/test_transfer.py::TestBuildReceivePipeline::test_no_compression PASSED [ 87%] tests/test_transfer.py::TestBuildReceivePipeline::test_empty_compression PASSED [ 87%] tests/test_transfer.py::TestBuildReceivePipeline::test_with_decompression PASSED [ 87%] tests/test_transfer.py::TestCreateDecompressProcessActual::test_creates_process_with_correct_command PASSED [ 87%] tests/test_transfer.py::TestCreateCompressProcessActual::test_creates_process_with_correct_command PASSED [ 87%] tests/test_transfer.py::TestCleanupPipelineExceptions::test_cleanup_handles_terminate_exception PASSED [ 87%] tests/test_transfer.py::TestCleanupPipelineExceptions::test_cleanup_handles_kill_exception PASSED [ 87%] tests/test_transfer.py::TestCleanupPipelineExceptions::test_cleanup_handles_wait_timeout PASSED [ 87%] tests/test_transfers_cmd.py::TestFormatBytes::test_bytes PASSED [ 87%] tests/test_transfers_cmd.py::TestFormatBytes::test_kilobytes PASSED [ 87%] tests/test_transfers_cmd.py::TestFormatBytes::test_megabytes PASSED [ 87%] tests/test_transfers_cmd.py::TestFormatBytes::test_gigabytes PASSED [ 87%] tests/test_transfers_cmd.py::TestFormatAge::test_just_now PASSED [ 87%] tests/test_transfers_cmd.py::TestFormatAge::test_hours_ago PASSED [ 87%] tests/test_transfers_cmd.py::TestFormatAge::test_days_ago PASSED [ 87%] tests/test_transfers_cmd.py::TestFormatAge::test_invalid_timestamp PASSED [ 87%] tests/test_transfers_cmd.py::TestGetStatusSymbol::test_completed PASSED [ 88%] tests/test_transfers_cmd.py::TestGetStatusSymbol::test_failed PASSED [ 88%] tests/test_transfers_cmd.py::TestGetStatusSymbol::test_transferring PASSED [ 88%] tests/test_transfers_cmd.py::TestGetStatusSymbol::test_paused PASSED [ 88%] tests/test_transfers_cmd.py::TestListTransfers::test_no_transfers PASSED [ 88%] tests/test_transfers_cmd.py::TestListTransfers::test_with_transfers PASSED [ 88%] tests/test_transfers_cmd.py::TestListTransfers::test_json_output PASSED [ 88%] tests/test_transfers_cmd.py::TestShowTransfer::test_transfer_not_found PASSED [ 88%] tests/test_transfers_cmd.py::TestShowTransfer::test_show_transfer_details PASSED [ 88%] tests/test_transfers_cmd.py::TestResumeTransfer::test_transfer_not_found PASSED [ 88%] tests/test_transfers_cmd.py::TestResumeTransfer::test_not_resumable PASSED [ 88%] tests/test_transfers_cmd.py::TestResumeTransfer::test_resume_success PASSED [ 88%] tests/test_transfers_cmd.py::TestCleanupTransfers::test_cleanup_specific_transfer PASSED [ 88%] tests/test_transfers_cmd.py::TestCleanupTransfers::test_cleanup_stale PASSED [ 88%] tests/test_transfers_cmd.py::TestListOperations::test_no_operations PASSED [ 88%] tests/test_transfers_cmd.py::TestListOperations::test_with_operations PASSED [ 88%] tests/test_transfers_cmd.py::TestPauseTransfer::test_no_transfer_id PASSED [ 88%] tests/test_transfers_cmd.py::TestPauseTransfer::test_transfer_not_found PASSED [ 88%] tests/test_transfers_cmd.py::TestPauseTransfer::test_not_actively_transferring PASSED [ 89%] tests/test_transfers_cmd.py::TestPauseTransfer::test_pause_success PASSED [ 89%] tests/test_transfers_cmd.py::TestShowTransferEdgeCases::test_no_transfer_id PASSED [ 89%] tests/test_transfers_cmd.py::TestShowTransferEdgeCases::test_json_output PASSED [ 89%] tests/test_transfers_cmd.py::TestShowTransferEdgeCases::test_verbose_shows_chunks PASSED [ 89%] tests/test_transfers_cmd.py::TestResumeTransferEdgeCases::test_no_transfer_id PASSED [ 89%] tests/test_transfers_cmd.py::TestResumeTransferEdgeCases::test_dry_run PASSED [ 89%] tests/test_transfers_cmd.py::TestCleanupTransfersEdgeCases::test_cleanup_not_found PASSED [ 89%] tests/test_transfers_cmd.py::TestCleanupTransfersEdgeCases::test_cleanup_specific_dry_run PASSED [ 89%] tests/test_transfers_cmd.py::TestCleanupTransfersEdgeCases::test_cleanup_stale_dry_run PASSED [ 89%] tests/test_transfers_cmd.py::TestCleanupTransfersEdgeCases::test_cleanup_no_stale PASSED [ 89%] tests/test_transfers_cmd.py::TestListOperationsEdgeCases::test_json_output PASSED [ 89%] tests/test_transfers_cmd.py::TestExecuteTransfers::test_default_action_is_list PASSED [ 89%] tests/test_transfers_cmd.py::TestExecuteTransfers::test_routes_to_show PASSED [ 89%] tests/test_transfers_cmd.py::TestExecuteTransfers::test_routes_to_cleanup PASSED [ 89%] tests/test_util.py::TestEncodePathForDir::test_root_path PASSED [ 89%] tests/test_util.py::TestEncodePathForDir::test_simple_path PASSED [ 89%] tests/test_util.py::TestEncodePathForDir::test_nested_path PASSED [ 90%] tests/test_util.py::TestEncodePathForDir::test_var_log_path PASSED [ 90%] tests/test_util.py::TestDateToStr::test_with_timestamp PASSED [ 90%] tests/test_util.py::TestDateToStr::test_with_custom_format PASSED [ 90%] tests/test_util.py::TestDateToStr::test_without_timestamp PASSED [ 90%] tests/test_util.py::TestDateToStr::test_returns_string PASSED [ 90%] tests/test_util.py::TestStrToDate::test_parse_valid_string PASSED [ 90%] tests/test_util.py::TestStrToDate::test_with_custom_format PASSED [ 90%] tests/test_util.py::TestStrToDate::test_without_time_string PASSED [ 90%] tests/test_util.py::TestStrToDate::test_invalid_format_raises PASSED [ 90%] tests/test_util.py::TestLogHeading::test_basic_heading PASSED [ 90%] tests/test_util.py::TestLogHeading::test_long_caption PASSED [ 90%] tests/test_util.py::TestLogHeading::test_empty_caption PASSED [ 90%] tests/test_util.py::TestReadLocks::test_read_empty_string PASSED [ 90%] tests/test_util.py::TestReadLocks::test_read_whitespace_only PASSED [ 90%] tests/test_util.py::TestReadLocks::test_read_valid_locks PASSED [ 90%] tests/test_util.py::TestReadLocks::test_read_multiple_snapshots PASSED [ 90%] tests/test_util.py::TestReadLocks::test_deduplicates_locks PASSED [ 90%] tests/test_util.py::TestReadLocks::test_invalid_json_raises PASSED [ 91%] tests/test_util.py::TestReadLocks::test_invalid_structure_raises PASSED [ 91%] tests/test_util.py::TestReadLocks::test_invalid_lock_type_raises PASSED [ 91%] tests/test_util.py::TestReadLocks::test_non_string_lock_raises PASSED [ 91%] tests/test_util.py::TestWriteLocks::test_write_empty_dict PASSED [ 91%] tests/test_util.py::TestWriteLocks::test_write_valid_locks PASSED [ 91%] tests/test_util.py::TestWriteLocks::test_roundtrip PASSED [ 91%] tests/test_util.py::TestSnapshot::test_create_snapshot PASSED [ 91%] tests/test_util.py::TestSnapshot::test_create_with_time PASSED [ 91%] tests/test_util.py::TestSnapshot::test_get_name PASSED [ 91%] tests/test_util.py::TestSnapshot::test_get_path PASSED [ 91%] tests/test_util.py::TestSnapshot::test_repr PASSED [ 91%] tests/test_util.py::TestSnapshot::test_equality PASSED [ 91%] tests/test_util.py::TestSnapshot::test_inequality PASSED [ 91%] tests/test_util.py::TestSnapshot::test_less_than PASSED [ 91%] tests/test_util.py::TestSnapshot::test_comparison_different_prefix_raises PASSED [ 91%] tests/test_util.py::TestSnapshot::test_locks_initialized_empty PASSED [ 91%] tests/test_util.py::TestSnapshot::test_find_parent_already_present PASSED [ 91%] tests/test_util.py::TestSnapshot::test_find_parent_older_exists PASSED [ 92%] tests/test_util.py::TestSnapshot::test_find_parent_no_older PASSED [ 92%] tests/test_util.py::TestSnapshot::test_find_parent_empty_list PASSED [ 92%] tests/test_util.py::TestExceptions::test_abort_error PASSED [ 92%] tests/test_util.py::TestExceptions::test_snapshot_transfer_error PASSED [ 92%] tests/test_util.py::TestExceptions::test_snapshot_transfer_error_message PASSED [ 92%] tests/test_util.py::TestExecSubprocess::test_successful_command PASSED [ 92%] tests/test_util.py::TestExecSubprocess::test_command_with_check_call PASSED [ 92%] tests/test_util.py::TestExecSubprocess::test_command_not_found PASSED [ 92%] tests/test_util.py::TestExecSubprocess::test_command_failure PASSED [ 92%] tests/test_util.py::TestExecSubprocess::test_command_with_env PASSED [ 92%] tests/test_util.py::TestExecSubprocess::test_converts_args_to_strings PASSED [ 92%] tests/test_util.py::TestExecSubprocess::test_command_with_absolute_path_not_found PASSED [ 92%] tests/test_util.py::TestExecSubprocess::test_which_fallback_on_not_found PASSED [ 92%] tests/test_util.py::TestExecSubprocess::test_which_fallback_not_found_in_path PASSED [ 92%] tests/test_util.py::TestExecSubprocess::test_which_fallback_exception PASSED [ 92%] tests/test_util.py::TestExecSubprocess::test_unexpected_exception PASSED [ 92%] tests/test_util.py::TestIsBtrfs::test_with_existing_path PASSED [ 93%] tests/test_util.py::TestIsBtrfs::test_with_root PASSED [ 93%] tests/test_util.py::TestIsBtrfs::test_parses_mounts_file PASSED [ 93%] tests/test_util.py::TestIsBtrfs::test_handles_malformed_mounts_line PASSED [ 93%] tests/test_util.py::TestIsBtrfs::test_best_match_selection PASSED [ 93%] tests/test_util.py::TestIsSubvolume::test_with_regular_dir PASSED [ 93%] tests/test_util.py::TestIsSubvolume::test_with_nonexistent_path PASSED [ 93%] tests/test_util.py::TestIsSubvolume::test_returns_false_if_not_btrfs PASSED [ 93%] tests/test_util.py::TestIsSubvolume::test_checks_inode_on_btrfs PASSED [ 93%] tests/test_util.py::TestDeleteSubvolume::test_raises_if_not_subvolume PASSED [ 93%] tests/test_util.py::TestDeleteSubvolume::test_calls_btrfs_delete PASSED [ 93%] tests/test_util.py::TestIsMounted::test_root_is_mounted PASSED [ 93%] tests/test_util.py::TestIsMounted::test_non_mount_point PASSED [ 93%] tests/test_util.py::TestIsMounted::test_handles_malformed_lines PASSED [ 93%] tests/test_util.py::TestGetMountInfo::test_get_mount_info_for_root PASSED [ 93%] tests/test_util.py::TestGetMountInfo::test_get_mount_info_for_subpath PASSED [ 93%] tests/test_util.py::TestGetMountInfo::test_get_mount_info_best_match PASSED [ 93%] tests/test_util.py::TestGetMountInfo::test_get_mount_info_handles_malformed PASSED [ 93%] tests/test_util.py::TestGetMountInfo::test_get_mount_info_not_found PASSED [ 94%] tests/test_util.py::TestInsufficientSpaceError::test_inherits_from_abort_error PASSED [ 94%] tests/test_util.py::TestInsufficientSpaceError::test_error_message PASSED [ 94%] tests/test_verify.py::TestVerifyResult::test_default_values PASSED [ 94%] tests/test_verify.py::TestVerifyResult::test_with_details PASSED [ 94%] tests/test_verify.py::TestVerifyReport::test_empty_report PASSED [ 94%] tests/test_verify.py::TestVerifyReport::test_report_with_results PASSED [ 94%] tests/test_verify.py::TestVerifyReport::test_duration_calculation PASSED [ 94%] tests/test_verify.py::TestFindParentSnapshot::test_finds_most_recent_older PASSED [ 94%] tests/test_verify.py::TestFindParentSnapshot::test_returns_none_for_oldest PASSED [ 94%] tests/test_verify.py::TestFindParentSnapshot::test_excludes_self PASSED [ 94%] tests/test_verify.py::TestVerifyMetadata::test_empty_backup_location PASSED [ 94%] tests/test_verify.py::TestVerifyMetadata::test_single_snapshot PASSED [ 94%] tests/test_verify.py::TestVerifyMetadata::test_complete_chain PASSED [ 94%] tests/test_verify.py::TestVerifyMetadata::test_specific_snapshot PASSED [ 94%] tests/test_verify.py::TestVerifyMetadata::test_snapshot_not_found PASSED [ 94%] tests/test_verify.py::TestVerifyMetadata::test_progress_callback PASSED [ 94%] tests/test_verify.py::TestVerifyMetadata::test_source_comparison PASSED [ 95%] tests/test_verify.py::TestVerifyLevel::test_level_values PASSED [ 95%] tests/test_verify.py::TestVerifyLevel::test_level_from_string PASSED [ 95%] tests/test_verify.py::TestVerifyStream::test_empty_backup_location PASSED [ 95%] tests/test_verify.py::TestVerifyStream::test_snapshot_not_found PASSED [ 95%] tests/test_verify.py::TestVerifyStream::test_verify_latest_by_default PASSED [ 95%] tests/test_verify.py::TestVerifyStream::test_verify_specific_snapshot PASSED [ 95%] tests/test_verify.py::TestVerifyStream::test_stream_success PASSED [ 95%] tests/test_verify.py::TestVerifyStream::test_stream_failure PASSED [ 95%] tests/test_verify.py::TestVerifyStream::test_progress_callback PASSED [ 95%] tests/test_verify.py::TestVerifyStream::test_incremental_detection PASSED [ 95%] tests/test_verify.py::TestVerifyStream::test_exception_handling PASSED [ 95%] tests/test_verify.py::TestVerifyFull::test_empty_backup_location PASSED [ 95%] tests/test_verify.py::TestVerifyFull::test_snapshot_not_found PASSED [ 95%] tests/test_verify.py::TestVerifyFull::test_temp_dir_not_btrfs PASSED [ 95%] tests/test_verify.py::TestVerifyFull::test_remote_without_temp_dir PASSED [ 95%] tests/test_verify.py::TestVerifyFull::test_full_verify_success PASSED [ 95%] tests/test_verify.py::TestVerifyFull::test_full_verify_restore_fails PASSED [ 95%] tests/test_verify.py::TestVerifyFull::test_restored_path_not_found PASSED [ 96%] tests/test_verify.py::TestVerifyFull::test_restored_not_subvolume PASSED [ 96%] tests/test_verify.py::TestVerifyFull::test_with_custom_temp_dir PASSED [ 96%] tests/test_verify.py::TestVerifyFull::test_creates_temp_dir_if_not_exists PASSED [ 96%] tests/test_verify.py::TestVerifyFull::test_progress_callback PASSED [ 96%] tests/test_verify.py::TestTestSendStream::test_local_send_success PASSED [ 96%] tests/test_verify.py::TestTestSendStream::test_local_send_with_parent PASSED [ 96%] tests/test_verify.py::TestTestSendStream::test_local_send_failure PASSED [ 96%] tests/test_verify.py::TestTestSendStream::test_ssh_send_success PASSED [ 96%] tests/test_verify.py::TestTestSendStream::test_ssh_send_with_sudo PASSED [ 96%] tests/test_verify.py::TestTestSendStream::test_ssh_send_failure PASSED [ 96%] tests/test_verify.py::TestVerifyError::test_verify_error_message PASSED [ 96%] tests/test_verify.py::TestVerifyError::test_verify_error_is_exception PASSED [ 96%] tests/test_verify.py::TestVerifyMetadataExceptionHandling::test_list_snapshots_exception PASSED [ 96%] tests/test_verify.py::TestVerifyMetadataExceptionHandling::test_source_comparison_exception PASSED [ 96%] tests/test_verify.py::TestVerifyReportDuration::test_duration_before_completion PASSED [ 96%] tests/test_verify.py::TestParentViabilityResult::test_viable_result PASSED [ 96%] tests/test_verify.py::TestParentViabilityResult::test_missing_result PASSED [ 96%] tests/test_verify.py::TestParentViabilityResult::test_corrupted_result PASSED [ 97%] tests/test_verify.py::TestParentViabilityResult::test_locked_result PASSED [ 97%] tests/test_verify.py::TestCheckParentViability::test_no_parent_returns_viable_with_fallback PASSED [ 97%] tests/test_verify.py::TestCheckParentViability::test_check_level_none_skips_validation PASSED [ 97%] tests/test_verify.py::TestCheckParentViability::test_parent_exists_at_destination PASSED [ 97%] tests/test_verify.py::TestCheckParentViability::test_parent_missing_at_destination PASSED [ 97%] tests/test_verify.py::TestCheckParentViability::test_parent_locked PASSED [ 97%] tests/test_verify.py::TestCheckParentViability::test_destination_list_failure_continues PASSED [ 97%] tests/test_verify.py::TestCheckParentViability::test_stream_check_success PASSED [ 97%] tests/test_verify.py::TestCheckParentViability::test_stream_check_failure PASSED [ 97%] tests/test_verify.py::TestFindViableParent::test_no_present_snapshots PASSED [ 97%] tests/test_verify.py::TestFindViableParent::test_finds_best_parent PASSED [ 97%] tests/test_verify.py::TestFindViableParent::test_no_older_candidates PASSED [ 97%] tests/test_verify.py::TestFindViableParent::test_fallback_to_older_parent PASSED [ 97%] tests/test_verify.py::TestValidateTransferChain::test_validates_multiple_snapshots PASSED [ 97%] tests/test_verify.py::TestValidateTransferChain::test_tracks_transferred_snapshots PASSED [ 97%] tests/test_wizard_utils.py::TestPrompt::test_returns_user_input PASSED [ 97%] tests/test_wizard_utils.py::TestPrompt::test_returns_default_on_empty_input PASSED [ 98%] tests/test_wizard_utils.py::TestPrompt::test_raises_keyboard_interrupt_on_eof PASSED [ 98%] tests/test_wizard_utils.py::TestPrompt::test_raises_keyboard_interrupt_on_ctrl_c PASSED [ 98%] tests/test_wizard_utils.py::TestPromptBool::test_returns_true PASSED [ 98%] tests/test_wizard_utils.py::TestPromptBool::test_returns_false PASSED [ 98%] tests/test_wizard_utils.py::TestPromptBool::test_uses_default PASSED [ 98%] tests/test_wizard_utils.py::TestPromptBool::test_raises_keyboard_interrupt_on_eof PASSED [ 98%] tests/test_wizard_utils.py::TestPromptInt::test_returns_valid_int PASSED [ 98%] tests/test_wizard_utils.py::TestPromptInt::test_rejects_out_of_range_then_accepts_valid PASSED [ 98%] tests/test_wizard_utils.py::TestPromptInt::test_raises_keyboard_interrupt_on_eof PASSED [ 98%] tests/test_wizard_utils.py::TestPromptChoice::test_returns_choice_by_number PASSED [ 98%] tests/test_wizard_utils.py::TestPromptChoice::test_returns_choice_by_value PASSED [ 98%] tests/test_wizard_utils.py::TestPromptChoice::test_returns_default_on_empty PASSED [ 98%] tests/test_wizard_utils.py::TestPromptChoice::test_rejects_invalid_then_accepts_valid PASSED [ 98%] tests/test_wizard_utils.py::TestPromptChoice::test_raises_keyboard_interrupt_on_eof PASSED [ 98%] tests/test_wizard_utils.py::TestPromptSelection::test_returns_selected_indices PASSED [ 98%] tests/test_wizard_utils.py::TestPromptSelection::test_returns_all_on_all_input PASSED [ 98%] tests/test_wizard_utils.py::TestPromptSelection::test_returns_default_on_empty PASSED [ 98%] tests/test_wizard_utils.py::TestPromptSelection::test_skips_invalid_selections PASSED [ 99%] tests/test_wizard_utils.py::TestPromptSelection::test_retries_on_empty_selection PASSED [ 99%] tests/test_wizard_utils.py::TestPromptSelection::test_raises_keyboard_interrupt_on_eof PASSED [ 99%] tests/test_wizard_utils.py::TestDisplayFunctions::test_display_wizard_header PASSED [ 99%] tests/test_wizard_utils.py::TestDisplayFunctions::test_display_section_header PASSED [ 99%] tests/test_wizard_utils.py::TestDisplayFunctions::test_display_next_steps PASSED [ 99%] tests/test_wizard_utils.py::TestDisplayFunctions::test_display_config_preview PASSED [ 99%] tests/test_wizard_utils.py::TestDisplayFunctions::test_display_snapper_configs_empty PASSED [ 99%] tests/test_wizard_utils.py::TestDisplayFunctions::test_display_snapper_configs PASSED [ 99%] tests/test_wizard_utils.py::TestDisplayFunctions::test_display_btrbk_import_with_warnings PASSED [ 99%] tests/test_wizard_utils.py::TestDisplayFunctions::test_display_btrbk_import_no_targets PASSED [ 99%] tests/test_wizard_utils.py::TestDisplayFunctions::test_display_btrbk_import_multiple_targets PASSED [ 99%] tests/test_wizard_utils.py::TestFindBtrbkConfig::test_finds_etc_btrbk_conf PASSED [ 99%] tests/test_wizard_utils.py::TestFindBtrbkConfig::test_finds_etc_btrbk_conf_fallback PASSED [ 99%] tests/test_wizard_utils.py::TestFindBtrbkConfig::test_returns_none_when_not_found PASSED [ 99%] tests/test_wizard_utils.py::TestDisplayBtrbkDetected::test_returns_import_choice PASSED [ 99%] tests/test_wizard_utils.py::TestDisplayBtrbkDetected::test_returns_detect_choice PASSED [ 99%] tests/test_wizard_utils.py::TestDisplayBtrbkDetected::test_returns_manual_choice PASSED [100%] ===================== 1762 passed, 34 deselected in 4.26s ====================== + RPM_EC=0 ++ jobs -p + exit 0 Processing files: btrfs-backup-ng-0.8.1-1.fc44.noarch Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.ad4DdG + umask 022 + cd /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build + cd btrfs_backup_ng-0.8.1 + DOCDIR=/builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/share/doc/btrfs-backup-ng + export LC_ALL=C.UTF-8 + LC_ALL=C.UTF-8 + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/share/doc/btrfs-backup-ng + cp -pr /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/btrfs_backup_ng-0.8.1/README.md /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT/usr/share/doc/btrfs-backup-ng + RPM_EC=0 ++ jobs -p + exit 0 Provides: btrfs-backup-ng = 0.8.1-1.fc44 python3.14dist(btrfs-backup-ng) = 0.8.1 python3dist(btrfs-backup-ng) = 0.8.1 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: /usr/bin/python3 python(abi) = 3.14 python3.14dist(filelock) python3.14dist(paramiko) python3.14dist(rich) Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILD/btrfs-backup-ng-0.8.1-build/BUILDROOT Wrote: /builddir/build/SRPMS/btrfs-backup-ng-0.8.1-1.fc44.src.rpm Wrote: /builddir/build/RPMS/btrfs-backup-ng-0.8.1-1.fc44.noarch.rpm Finish: rpmbuild btrfs-backup-ng-0.8.1-1.fc44.src.rpm Finish: build phase for btrfs-backup-ng-0.8.1-1.fc44.src.rpm INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-rawhide-x86_64-1768072122.867344/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 INFO: Done(/var/lib/copr-rpmbuild/results/btrfs-backup-ng-0.8.1-1.fc44.src.rpm) Config(child) 0 minutes 20 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 Finish: run Running FedoraReview tool Running: fedora-review --no-colors --prebuilt --rpm-spec --name btrfs-backup-ng --mock-config /var/lib/copr-rpmbuild/results/configs/child.cfg cmd: ['fedora-review', '--no-colors', '--prebuilt', '--rpm-spec', '--name', 'btrfs-backup-ng', '--mock-config', '/var/lib/copr-rpmbuild/results/configs/child.cfg'] cwd: /var/lib/copr-rpmbuild/results rc: 0 stdout: Cache directory "/var/lib/copr-rpmbuild/results/cache/libdnf5" does not exist. Nothing to clean. Review template in: /var/lib/copr-rpmbuild/results/btrfs-backup-ng/review.txt fedora-review is automated tool, but *YOU* are responsible for manually reviewing the results and finishing the review. Do not just copy-paste the results without understanding them. stderr: INFO: Processing local files: btrfs-backup-ng INFO: Getting .spec and .srpm Urls from : Local files in /var/lib/copr-rpmbuild/results INFO: --> SRPM url: file:///var/lib/copr-rpmbuild/results/btrfs-backup-ng-0.8.1-1.fc44.src.rpm INFO: Using review directory: /var/lib/copr-rpmbuild/results/btrfs-backup-ng INFO: Downloading (Source0): https://files.pythonhosted.org/packages/source/b/btrfs_backup_ng/btrfs_backup_ng-0.8.1.tar.gz WARNING: Cannot download url: https://files.pythonhosted.org/packages/source/b/btrfs_backup_ng/btrfs_backup_ng-0.8.1.tar.gz INFO: No upstream for (Source0): btrfs_backup_ng-0.8.1.tar.gz INFO: Running checks and generating report INFO: Installing built package(s) INFO: Reading configuration from /etc/mock/site-defaults.cfg INFO: Reading configuration from /etc/mock/chroot-aliases.cfg INFO: Reading configuration from /var/lib/copr-rpmbuild/results/configs/child.cfg INFO: Active plugins: Shell-api, Python, Generic Updating and loading repositories: Repositories loaded. Updating and loading repositories: Repositories loaded. INFO: ExclusiveArch dependency checking disabled, enable with EXARCH flag Cache directory "/var/lib/copr-rpmbuild/results/cache/libdnf5" does not exist. Nothing to clean. Review template in: /var/lib/copr-rpmbuild/results/btrfs-backup-ng/review.txt fedora-review is automated tool, but *YOU* are responsible for manually reviewing the results and finishing the review. Do not just copy-paste the results without understanding them. Moving the results into `fedora-review' directory. Review template in: /var/lib/copr-rpmbuild/results/fedora-review/review.txt FedoraReview finished Running RPMResults tool Package info: { "packages": [ { "name": "btrfs-backup-ng", "epoch": null, "version": "0.8.1", "release": "1.fc44", "arch": "noarch" }, { "name": "btrfs-backup-ng", "epoch": null, "version": "0.8.1", "release": "1.fc44", "arch": "src" } ] } RPMResults finished