0s autopkgtest [19:24:39]: starting date and time: 2026-01-22 19:24:39+0000 0s autopkgtest [19:24:39]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [19:24:39]: host juju-7f2275-prod-proposed-migration-environment-20; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.3p4g2kz3/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:python3-defaults --apt-upgrade ostree-push --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=python3-defaults/3.14.2-1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-cpu2-ram4-disk20-arm64 --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-20@sto01-arm64-4.secgroup --name adt-resolute-arm64-ostree-push-20260122-192439-juju-7f2275-prod-proposed-migration-environment-20-06a2a2ba-8dd1-450a-b48d-35916fe2a2b4 --image adt/ubuntu-resolute-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-20 --net-id=net_prod-autopkgtest-workers-arm64 -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 4s Creating nova instance adt-resolute-arm64-ostree-push-20260122-192439-juju-7f2275-prod-proposed-migration-environment-20-06a2a2ba-8dd1-450a-b48d-35916fe2a2b4 from image adt/ubuntu-resolute-arm64-server-20260122.img (UUID ed27afc7-5f46-4e8b-ad73-864280a0ddbb)... 62s autopkgtest [19:25:41]: testbed dpkg architecture: arm64 62s autopkgtest [19:25:41]: testbed apt version: 3.1.12 62s autopkgtest [19:25:41]: @@@@@@@@@@@@@@@@@@@@ test bed setup 63s autopkgtest [19:25:42]: testbed release detected to be: None 63s autopkgtest [19:25:42]: updating testbed package index (apt update) 65s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 65s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 65s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 65s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 65s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [19.2 kB] 65s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [80.9 kB] 65s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [815 kB] 66s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [2820 B] 66s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 Packages [103 kB] 66s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 c-n-f Metadata [3316 B] 66s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/restricted arm64 Packages [7876 B] 66s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/restricted arm64 c-n-f Metadata [120 B] 66s Get:13 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 Packages [639 kB] 66s Get:14 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 c-n-f Metadata [16.2 kB] 66s Get:15 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse arm64 Packages [4636 B] 66s Get:16 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse arm64 c-n-f Metadata [460 B] 69s Fetched 1818 kB in 2s (762 kB/s) 69s Reading package lists... 70s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 70s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 70s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 71s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 71s Reading package lists... 71s Reading package lists... 72s Building dependency tree... 72s Reading state information... 72s Calculating upgrade... 72s The following packages were automatically installed and are no longer required: 72s python3.13 python3.13-minimal 72s Use 'sudo apt autoremove' to remove them. 72s The following NEW packages will be installed: 72s libpython3.14-minimal libpython3.14-stdlib python3.14 python3.14-minimal 72s The following packages will be upgraded: 72s libpython3-stdlib python3 python3-gdbm python3-minimal 73s 4 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. 73s Need to get 6705 kB of archives. 73s After this operation, 26.0 MB of additional disk space will be used. 73s Get:1 http://ftpmaster.internal/ubuntu resolute/main arm64 libpython3.14-minimal arm64 3.14.2-1 [917 kB] 73s Get:2 http://ftpmaster.internal/ubuntu resolute/main arm64 python3.14-minimal arm64 3.14.2-1 [2548 kB] 73s Get:3 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 python3-gdbm arm64 3.14.2-1 [11.1 kB] 73s Get:4 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 python3-minimal arm64 3.14.2-1 [28.2 kB] 73s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 python3 arm64 3.14.2-1 [22.9 kB] 73s Get:6 http://ftpmaster.internal/ubuntu resolute/main arm64 libpython3.14-stdlib arm64 3.14.2-1 [2351 kB] 73s Get:7 http://ftpmaster.internal/ubuntu resolute/main arm64 python3.14 arm64 3.14.2-1 [816 kB] 73s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 libpython3-stdlib arm64 3.14.2-1 [10.9 kB] 74s dpkg-preconfigure: unable to re-open stdin: No such file or directory 74s Fetched 6705 kB in 1s (6611 kB/s) 74s Selecting previously unselected package libpython3.14-minimal:arm64. 74s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 135223 files and directories currently installed.) 74s Preparing to unpack .../libpython3.14-minimal_3.14.2-1_arm64.deb ... 74s Unpacking libpython3.14-minimal:arm64 (3.14.2-1) ... 74s Selecting previously unselected package python3.14-minimal. 74s Preparing to unpack .../python3.14-minimal_3.14.2-1_arm64.deb ... 74s Unpacking python3.14-minimal (3.14.2-1) ... 74s Preparing to unpack .../python3-gdbm_3.14.2-1_arm64.deb ... 74s Unpacking python3-gdbm (3.14.2-1) over (3.13.9-1) ... 74s Setting up libpython3.14-minimal:arm64 (3.14.2-1) ... 74s Setting up python3.14-minimal (3.14.2-1) ... 76s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 135565 files and directories currently installed.) 76s Preparing to unpack .../python3-minimal_3.14.2-1_arm64.deb ... 76s Unpacking python3-minimal (3.14.2-1) over (3.13.7-1) ... 76s Setting up python3-minimal (3.14.2-1) ... 76s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 135565 files and directories currently installed.) 76s Preparing to unpack .../python3_3.14.2-1_arm64.deb ... 76s running python pre-rtupdate hooks for python3.14... 76s Unpacking python3 (3.14.2-1) over (3.13.7-1) ... 76s Selecting previously unselected package libpython3.14-stdlib:arm64. 76s Preparing to unpack .../libpython3.14-stdlib_3.14.2-1_arm64.deb ... 76s Unpacking libpython3.14-stdlib:arm64 (3.14.2-1) ... 76s Selecting previously unselected package python3.14. 76s Preparing to unpack .../python3.14_3.14.2-1_arm64.deb ... 76s Unpacking python3.14 (3.14.2-1) ... 77s Preparing to unpack .../libpython3-stdlib_3.14.2-1_arm64.deb ... 77s Unpacking libpython3-stdlib:arm64 (3.14.2-1) over (3.13.7-1) ... 77s Setting up libpython3.14-stdlib:arm64 (3.14.2-1) ... 77s Setting up python3.14 (3.14.2-1) ... 78s Setting up libpython3-stdlib:arm64 (3.14.2-1) ... 78s Setting up python3-gdbm (3.14.2-1) ... 78s Setting up python3 (3.14.2-1) ... 78s running python rtupdate hooks for python3.14... 78s running python post-rtupdate hooks for python3.14... 78s Processing triggers for man-db (2.13.1-1) ... 79s Processing triggers for systemd (259-1ubuntu2) ... 79s autopkgtest [19:25:58]: upgrading testbed (apt dist-upgrade and autopurge) 79s Reading package lists... 79s Building dependency tree... 79s Reading state information... 79s Calculating upgrade... 80s The following packages were automatically installed and are no longer required: 80s python3.13 python3.13-minimal 80s Use 'sudo apt autoremove' to remove them. 80s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 80s Reading package lists... 80s Building dependency tree... 80s Reading state information... 81s Solving dependencies... 81s The following packages will be REMOVED: 81s python3.13* python3.13-minimal* 81s 0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded. 81s After this operation, 7766 kB disk space will be freed. 81s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 135995 files and directories currently installed.) 81s Removing python3.13 (3.13.11-1) ... 81s Removing python3.13-minimal (3.13.11-1) ... 82s Processing triggers for man-db (2.13.1-1) ... 83s Processing triggers for systemd (259-1ubuntu2) ... 83s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 135968 files and directories currently installed.) 83s Purging configuration files for python3.13-minimal (3.13.11-1) ... 85s autopkgtest [19:26:04]: testbed running kernel: Linux 6.18.0-9-generic #9-Ubuntu SMP PREEMPT_DYNAMIC Mon Jan 12 16:41:39 UTC 2026 86s autopkgtest [19:26:05]: @@@@@@@@@@@@@@@@@@@@ apt-source ostree-push 87s Get:1 http://ftpmaster.internal/ubuntu resolute/universe ostree-push 1.2.0-1 (dsc) [1743 B] 87s Get:2 http://ftpmaster.internal/ubuntu resolute/universe ostree-push 1.2.0-1 (tar) [61.3 kB] 87s Get:3 http://ftpmaster.internal/ubuntu resolute/universe ostree-push 1.2.0-1 (diff) [7372 B] 87s gpgv: Signature made Sat Mar 29 17:34:18 2025 UTC 87s gpgv: using EDDSA key 83DCD17F44B22CC83656EDA1E8446B4AC8C77261 87s gpgv: Can't check signature: No public key 87s dpkg-source: warning: cannot verify inline signature for ./ostree-push_1.2.0-1.dsc: no acceptable signature found 87s autopkgtest [19:26:06]: testing package ostree-push version 1.2.0-1 88s autopkgtest [19:26:07]: build not needed 88s autopkgtest [19:26:07]: test pybuild-autopkgtest: preparing testbed 88s Reading package lists... 88s Building dependency tree... 88s Reading state information... 89s Solving dependencies... 89s The following NEW packages will be installed: 89s autoconf automake autopoint autotools-dev bubblewrap build-essential cpp 89s cpp-15 cpp-15-aarch64-linux-gnu cpp-aarch64-linux-gnu debhelper debugedit 89s dh-autoreconf dh-python dh-strip-nondeterminism dwz flatpak g++ g++-15 89s g++-15-aarch64-linux-gnu g++-aarch64-linux-gnu gcc gcc-15 89s gcc-15-aarch64-linux-gnu gcc-aarch64-linux-gnu gettext gir1.2-ostree-1.0 89s intltool-debian libappstream5 libarchive-zip-perl libasan8 libavahi-client3 89s libavahi-common-data libavahi-common3 libavahi-glib1 libcc1-0 libdconf1 89s libdebhelper-perl libdeflate0 libfile-stripnondeterminism-perl libgcc-15-dev 89s libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgomp1 libhwasan0 libisl23 89s libitm1 libjbig0 libjpeg-turbo8 libjpeg8 liblerc4 liblsan0 libmalcontent-0-0 89s libmpc3 libostree-1-1 libsharpyuv0 libstdc++-15-dev libstemmer0d libtiff6 89s libtool libtsan2 libubsan1 libwayland-client0 libwebp7 m4 ostree ostree-push 89s po-debconf pybuild-plugin-autopkgtest pybuild-plugin-pyproject python3-all 89s python3-build python3-iniconfig python3-installer python3-pluggy 89s python3-pyproject-hooks python3-pytest python3-wheel python3.13 89s python3.13-minimal xdg-dbus-proxy 90s 0 upgraded, 81 newly installed, 0 to remove and 0 not upgraded. 90s Need to get 76.4 MB of archives. 90s After this operation, 262 MB of additional disk space will be used. 90s Get:1 http://ftpmaster.internal/ubuntu resolute/main arm64 python3.13-minimal arm64 3.13.11-1 [2346 kB] 91s Get:2 http://ftpmaster.internal/ubuntu resolute/main arm64 python3.13 arm64 3.13.11-1 [758 kB] 91s Get:3 http://ftpmaster.internal/ubuntu resolute/main arm64 m4 arm64 1.4.20-2 [213 kB] 91s Get:4 http://ftpmaster.internal/ubuntu resolute/main arm64 autoconf all 2.72-3.1ubuntu1 [384 kB] 91s Get:5 http://ftpmaster.internal/ubuntu resolute/main arm64 autotools-dev all 20240727.1 [43.4 kB] 91s Get:6 http://ftpmaster.internal/ubuntu resolute/main arm64 automake all 1:1.18.1-3build1 [582 kB] 91s Get:7 http://ftpmaster.internal/ubuntu resolute/main arm64 autopoint all 0.23.2-1 [620 kB] 91s Get:8 http://ftpmaster.internal/ubuntu resolute/main arm64 bubblewrap arm64 0.11.0-2build1 [52.9 kB] 91s Get:9 http://ftpmaster.internal/ubuntu resolute/main arm64 libisl23 arm64 0.27-1build1 [676 kB] 91s Get:10 http://ftpmaster.internal/ubuntu resolute/main arm64 libmpc3 arm64 1.3.1-2 [55.6 kB] 91s Get:11 http://ftpmaster.internal/ubuntu resolute/main arm64 cpp-15-aarch64-linux-gnu arm64 15.2.0-11ubuntu1 [11.7 MB] 91s Get:12 http://ftpmaster.internal/ubuntu resolute/main arm64 cpp-15 arm64 15.2.0-11ubuntu1 [1030 B] 91s Get:13 http://ftpmaster.internal/ubuntu resolute/main arm64 cpp-aarch64-linux-gnu arm64 4:15.2.0-4ubuntu1 [5736 B] 91s Get:14 http://ftpmaster.internal/ubuntu resolute/main arm64 cpp arm64 4:15.2.0-4ubuntu1 [22.4 kB] 91s Get:15 http://ftpmaster.internal/ubuntu resolute/main arm64 libcc1-0 arm64 15.2.0-11ubuntu1 [49.0 kB] 91s Get:16 http://ftpmaster.internal/ubuntu resolute/main arm64 libgomp1 arm64 15.2.0-11ubuntu1 [147 kB] 91s Get:17 http://ftpmaster.internal/ubuntu resolute/main arm64 libitm1 arm64 15.2.0-11ubuntu1 [28.0 kB] 91s Get:18 http://ftpmaster.internal/ubuntu resolute/main arm64 libasan8 arm64 15.2.0-11ubuntu1 [2920 kB] 91s Get:19 http://ftpmaster.internal/ubuntu resolute/main arm64 liblsan0 arm64 15.2.0-11ubuntu1 [1316 kB] 91s Get:20 http://ftpmaster.internal/ubuntu resolute/main arm64 libtsan2 arm64 15.2.0-11ubuntu1 [2690 kB] 91s Get:21 http://ftpmaster.internal/ubuntu resolute/main arm64 libubsan1 arm64 15.2.0-11ubuntu1 [1176 kB] 91s Get:22 http://ftpmaster.internal/ubuntu resolute/main arm64 libhwasan0 arm64 15.2.0-11ubuntu1 [1638 kB] 92s Get:23 http://ftpmaster.internal/ubuntu resolute/main arm64 libgcc-15-dev arm64 15.2.0-11ubuntu1 [2600 kB] 92s Get:24 http://ftpmaster.internal/ubuntu resolute/main arm64 gcc-15-aarch64-linux-gnu arm64 15.2.0-11ubuntu1 [23.1 MB] 92s Get:25 http://ftpmaster.internal/ubuntu resolute/main arm64 gcc-15 arm64 15.2.0-11ubuntu1 [517 kB] 92s Get:26 http://ftpmaster.internal/ubuntu resolute/main arm64 gcc-aarch64-linux-gnu arm64 4:15.2.0-4ubuntu1 [1206 B] 92s Get:27 http://ftpmaster.internal/ubuntu resolute/main arm64 gcc arm64 4:15.2.0-4ubuntu1 [5016 B] 92s Get:28 http://ftpmaster.internal/ubuntu resolute/main arm64 libstdc++-15-dev arm64 15.2.0-11ubuntu1 [2547 kB] 92s Get:29 http://ftpmaster.internal/ubuntu resolute/main arm64 g++-15-aarch64-linux-gnu arm64 15.2.0-11ubuntu1 [13.2 MB] 92s Get:30 http://ftpmaster.internal/ubuntu resolute/main arm64 g++-15 arm64 15.2.0-11ubuntu1 [24.6 kB] 92s Get:31 http://ftpmaster.internal/ubuntu resolute/main arm64 g++-aarch64-linux-gnu arm64 4:15.2.0-4ubuntu1 [956 B] 92s Get:32 http://ftpmaster.internal/ubuntu resolute/main arm64 g++ arm64 4:15.2.0-4ubuntu1 [1080 B] 92s Get:33 http://ftpmaster.internal/ubuntu resolute/main arm64 build-essential arm64 12.12ubuntu2 [5254 B] 92s Get:34 http://ftpmaster.internal/ubuntu resolute/main arm64 libdebhelper-perl all 13.28ubuntu1 [97.4 kB] 92s Get:35 http://ftpmaster.internal/ubuntu resolute/main arm64 libtool all 2.5.4-9 [169 kB] 92s Get:36 http://ftpmaster.internal/ubuntu resolute/main arm64 dh-autoreconf all 21 [12.5 kB] 92s Get:37 http://ftpmaster.internal/ubuntu resolute/main arm64 libarchive-zip-perl all 1.68-1 [90.2 kB] 92s Get:38 http://ftpmaster.internal/ubuntu resolute/main arm64 libfile-stripnondeterminism-perl all 1.15.0-1build1 [20.6 kB] 92s Get:39 http://ftpmaster.internal/ubuntu resolute/main arm64 dh-strip-nondeterminism all 1.15.0-1build1 [5110 B] 92s Get:40 http://ftpmaster.internal/ubuntu resolute/main arm64 debugedit arm64 1:5.2-3 [49.1 kB] 92s Get:41 http://ftpmaster.internal/ubuntu resolute/main arm64 dwz arm64 0.16-2 [113 kB] 92s Get:42 http://ftpmaster.internal/ubuntu resolute/main arm64 gettext arm64 0.23.2-1 [998 kB] 92s Get:43 http://ftpmaster.internal/ubuntu resolute/main arm64 intltool-debian all 0.35.0+20060710.6build1 [24.1 kB] 92s Get:44 http://ftpmaster.internal/ubuntu resolute/main arm64 po-debconf all 1.0.22 [215 kB] 92s Get:45 http://ftpmaster.internal/ubuntu resolute/main arm64 debhelper all 13.28ubuntu1 [916 kB] 92s Get:46 http://ftpmaster.internal/ubuntu resolute/universe arm64 dh-python all 7.20251231 [122 kB] 92s Get:47 http://ftpmaster.internal/ubuntu resolute/main arm64 xdg-dbus-proxy arm64 0.1.6-2 [26.1 kB] 92s Get:48 http://ftpmaster.internal/ubuntu resolute/main arm64 libstemmer0d arm64 3.0.1-1 [171 kB] 92s Get:49 http://ftpmaster.internal/ubuntu resolute/main arm64 libappstream5 arm64 1.0.6-2 [252 kB] 92s Get:50 http://ftpmaster.internal/ubuntu resolute/main arm64 libdconf1 arm64 0.49.0-4 [40.9 kB] 92s Get:51 http://ftpmaster.internal/ubuntu resolute/main arm64 libgdk-pixbuf2.0-common all 2.44.4+dfsg-1 [8584 B] 92s Get:52 http://ftpmaster.internal/ubuntu resolute/main arm64 libjpeg-turbo8 arm64 2.1.5-4ubuntu2 [165 kB] 92s Get:53 http://ftpmaster.internal/ubuntu resolute/main arm64 libjpeg8 arm64 8c-2ubuntu11 [2148 B] 92s Get:54 http://ftpmaster.internal/ubuntu resolute/main arm64 libdeflate0 arm64 1.23-2 [46.4 kB] 92s Get:55 http://ftpmaster.internal/ubuntu resolute/main arm64 libjbig0 arm64 2.1-6.1ubuntu3 [29.2 kB] 92s Get:56 http://ftpmaster.internal/ubuntu resolute/main arm64 liblerc4 arm64 4.0.0+ds-5ubuntu2 [174 kB] 92s Get:57 http://ftpmaster.internal/ubuntu resolute/main arm64 libsharpyuv0 arm64 1.5.0-0.1build1 [16.7 kB] 92s Get:58 http://ftpmaster.internal/ubuntu resolute/main arm64 libwebp7 arm64 1.5.0-0.1build1 [205 kB] 92s Get:59 http://ftpmaster.internal/ubuntu resolute/main arm64 libtiff6 arm64 4.7.0-3ubuntu3 [196 kB] 92s Get:60 http://ftpmaster.internal/ubuntu resolute/main arm64 libgdk-pixbuf-2.0-0 arm64 2.44.4+dfsg-1 [149 kB] 92s Get:61 http://ftpmaster.internal/ubuntu resolute/main arm64 libmalcontent-0-0 arm64 0.13.1-2ubuntu2 [22.5 kB] 92s Get:62 http://ftpmaster.internal/ubuntu resolute/main arm64 libavahi-common-data arm64 0.8-17ubuntu1 [31.3 kB] 92s Get:63 http://ftpmaster.internal/ubuntu resolute/main arm64 libavahi-common3 arm64 0.8-17ubuntu1 [22.6 kB] 92s Get:64 http://ftpmaster.internal/ubuntu resolute/main arm64 libavahi-client3 arm64 0.8-17ubuntu1 [26.7 kB] 92s Get:65 http://ftpmaster.internal/ubuntu resolute/main arm64 libavahi-glib1 arm64 0.8-17ubuntu1 [7822 B] 92s Get:66 http://ftpmaster.internal/ubuntu resolute/universe arm64 libostree-1-1 arm64 2025.7-1 [345 kB] 92s Get:67 http://ftpmaster.internal/ubuntu resolute/main arm64 libwayland-client0 arm64 1.24.0-2 [27.6 kB] 92s Get:68 http://ftpmaster.internal/ubuntu resolute/universe arm64 flatpak arm64 1.16.2-1 [1445 kB] 92s Get:69 http://ftpmaster.internal/ubuntu resolute/universe arm64 gir1.2-ostree-1.0 arm64 2025.7-1 [25.1 kB] 92s Get:70 http://ftpmaster.internal/ubuntu resolute/universe arm64 ostree arm64 2025.7-1 [185 kB] 92s Get:71 http://ftpmaster.internal/ubuntu resolute/universe arm64 ostree-push all 1.2.0-1 [26.7 kB] 92s Get:72 http://ftpmaster.internal/ubuntu resolute/universe arm64 pybuild-plugin-autopkgtest all 7.20251231 [1748 B] 92s Get:73 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-pyproject-hooks all 1.2.0-1 [10.2 kB] 92s Get:74 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-wheel all 0.46.1-2 [22.1 kB] 92s Get:75 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-build all 1.2.2-5 [30.9 kB] 92s Get:76 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-installer all 0.7.0+dfsg1-3 [17.4 kB] 92s Get:77 http://ftpmaster.internal/ubuntu resolute/universe arm64 pybuild-plugin-pyproject all 7.20251231 [1714 B] 92s Get:78 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 python3-all arm64 3.14.2-1 [888 B] 92s Get:79 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-iniconfig all 2.1.0-2 [6962 B] 92s Get:80 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-pluggy all 1.6.0-2 [21.1 kB] 92s Get:81 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-pytest all 9.0.2-2 [277 kB] 93s Fetched 76.4 MB in 3s (21.9 MB/s) 93s Selecting previously unselected package python3.13-minimal. 93s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 135970 files and directories currently installed.) 93s Preparing to unpack .../00-python3.13-minimal_3.13.11-1_arm64.deb ... 93s Unpacking python3.13-minimal (3.13.11-1) ... 93s Selecting previously unselected package python3.13. 93s Preparing to unpack .../01-python3.13_3.13.11-1_arm64.deb ... 93s Unpacking python3.13 (3.13.11-1) ... 93s Selecting previously unselected package m4. 93s Preparing to unpack .../02-m4_1.4.20-2_arm64.deb ... 93s Unpacking m4 (1.4.20-2) ... 93s Selecting previously unselected package autoconf. 93s Preparing to unpack .../03-autoconf_2.72-3.1ubuntu1_all.deb ... 93s Unpacking autoconf (2.72-3.1ubuntu1) ... 93s Selecting previously unselected package autotools-dev. 93s Preparing to unpack .../04-autotools-dev_20240727.1_all.deb ... 93s Unpacking autotools-dev (20240727.1) ... 93s Selecting previously unselected package automake. 93s Preparing to unpack .../05-automake_1%3a1.18.1-3build1_all.deb ... 93s Unpacking automake (1:1.18.1-3build1) ... 93s Selecting previously unselected package autopoint. 93s Preparing to unpack .../06-autopoint_0.23.2-1_all.deb ... 93s Unpacking autopoint (0.23.2-1) ... 93s Selecting previously unselected package bubblewrap. 93s Preparing to unpack .../07-bubblewrap_0.11.0-2build1_arm64.deb ... 93s Unpacking bubblewrap (0.11.0-2build1) ... 93s Selecting previously unselected package libisl23:arm64. 93s Preparing to unpack .../08-libisl23_0.27-1build1_arm64.deb ... 93s Unpacking libisl23:arm64 (0.27-1build1) ... 93s Selecting previously unselected package libmpc3:arm64. 94s Preparing to unpack .../09-libmpc3_1.3.1-2_arm64.deb ... 94s Unpacking libmpc3:arm64 (1.3.1-2) ... 94s Selecting previously unselected package cpp-15-aarch64-linux-gnu. 94s Preparing to unpack .../10-cpp-15-aarch64-linux-gnu_15.2.0-11ubuntu1_arm64.deb ... 94s Unpacking cpp-15-aarch64-linux-gnu (15.2.0-11ubuntu1) ... 94s Selecting previously unselected package cpp-15. 94s Preparing to unpack .../11-cpp-15_15.2.0-11ubuntu1_arm64.deb ... 94s Unpacking cpp-15 (15.2.0-11ubuntu1) ... 94s Selecting previously unselected package cpp-aarch64-linux-gnu. 94s Preparing to unpack .../12-cpp-aarch64-linux-gnu_4%3a15.2.0-4ubuntu1_arm64.deb ... 94s Unpacking cpp-aarch64-linux-gnu (4:15.2.0-4ubuntu1) ... 94s Selecting previously unselected package cpp. 94s Preparing to unpack .../13-cpp_4%3a15.2.0-4ubuntu1_arm64.deb ... 94s Unpacking cpp (4:15.2.0-4ubuntu1) ... 94s Selecting previously unselected package libcc1-0:arm64. 94s Preparing to unpack .../14-libcc1-0_15.2.0-11ubuntu1_arm64.deb ... 94s Unpacking libcc1-0:arm64 (15.2.0-11ubuntu1) ... 94s Selecting previously unselected package libgomp1:arm64. 94s Preparing to unpack .../15-libgomp1_15.2.0-11ubuntu1_arm64.deb ... 94s Unpacking libgomp1:arm64 (15.2.0-11ubuntu1) ... 94s Selecting previously unselected package libitm1:arm64. 94s Preparing to unpack .../16-libitm1_15.2.0-11ubuntu1_arm64.deb ... 94s Unpacking libitm1:arm64 (15.2.0-11ubuntu1) ... 94s Selecting previously unselected package libasan8:arm64. 94s Preparing to unpack .../17-libasan8_15.2.0-11ubuntu1_arm64.deb ... 94s Unpacking libasan8:arm64 (15.2.0-11ubuntu1) ... 94s Selecting previously unselected package liblsan0:arm64. 94s Preparing to unpack .../18-liblsan0_15.2.0-11ubuntu1_arm64.deb ... 94s Unpacking liblsan0:arm64 (15.2.0-11ubuntu1) ... 94s Selecting previously unselected package libtsan2:arm64. 94s Preparing to unpack .../19-libtsan2_15.2.0-11ubuntu1_arm64.deb ... 94s Unpacking libtsan2:arm64 (15.2.0-11ubuntu1) ... 94s Selecting previously unselected package libubsan1:arm64. 94s Preparing to unpack .../20-libubsan1_15.2.0-11ubuntu1_arm64.deb ... 94s Unpacking libubsan1:arm64 (15.2.0-11ubuntu1) ... 94s Selecting previously unselected package libhwasan0:arm64. 94s Preparing to unpack .../21-libhwasan0_15.2.0-11ubuntu1_arm64.deb ... 94s Unpacking libhwasan0:arm64 (15.2.0-11ubuntu1) ... 94s Selecting previously unselected package libgcc-15-dev:arm64. 94s Preparing to unpack .../22-libgcc-15-dev_15.2.0-11ubuntu1_arm64.deb ... 94s Unpacking libgcc-15-dev:arm64 (15.2.0-11ubuntu1) ... 95s Selecting previously unselected package gcc-15-aarch64-linux-gnu. 95s Preparing to unpack .../23-gcc-15-aarch64-linux-gnu_15.2.0-11ubuntu1_arm64.deb ... 95s Unpacking gcc-15-aarch64-linux-gnu (15.2.0-11ubuntu1) ... 95s Selecting previously unselected package gcc-15. 95s Preparing to unpack .../24-gcc-15_15.2.0-11ubuntu1_arm64.deb ... 95s Unpacking gcc-15 (15.2.0-11ubuntu1) ... 95s Selecting previously unselected package gcc-aarch64-linux-gnu. 95s Preparing to unpack .../25-gcc-aarch64-linux-gnu_4%3a15.2.0-4ubuntu1_arm64.deb ... 95s Unpacking gcc-aarch64-linux-gnu (4:15.2.0-4ubuntu1) ... 95s Selecting previously unselected package gcc. 95s Preparing to unpack .../26-gcc_4%3a15.2.0-4ubuntu1_arm64.deb ... 95s Unpacking gcc (4:15.2.0-4ubuntu1) ... 95s Selecting previously unselected package libstdc++-15-dev:arm64. 95s Preparing to unpack .../27-libstdc++-15-dev_15.2.0-11ubuntu1_arm64.deb ... 95s Unpacking libstdc++-15-dev:arm64 (15.2.0-11ubuntu1) ... 95s Selecting previously unselected package g++-15-aarch64-linux-gnu. 95s Preparing to unpack .../28-g++-15-aarch64-linux-gnu_15.2.0-11ubuntu1_arm64.deb ... 95s Unpacking g++-15-aarch64-linux-gnu (15.2.0-11ubuntu1) ... 96s Selecting previously unselected package g++-15. 96s Preparing to unpack .../29-g++-15_15.2.0-11ubuntu1_arm64.deb ... 96s Unpacking g++-15 (15.2.0-11ubuntu1) ... 96s Selecting previously unselected package g++-aarch64-linux-gnu. 96s Preparing to unpack .../30-g++-aarch64-linux-gnu_4%3a15.2.0-4ubuntu1_arm64.deb ... 96s Unpacking g++-aarch64-linux-gnu (4:15.2.0-4ubuntu1) ... 96s Selecting previously unselected package g++. 96s Preparing to unpack .../31-g++_4%3a15.2.0-4ubuntu1_arm64.deb ... 96s Unpacking g++ (4:15.2.0-4ubuntu1) ... 96s Selecting previously unselected package build-essential. 96s Preparing to unpack .../32-build-essential_12.12ubuntu2_arm64.deb ... 96s Unpacking build-essential (12.12ubuntu2) ... 96s Selecting previously unselected package libdebhelper-perl. 96s Preparing to unpack .../33-libdebhelper-perl_13.28ubuntu1_all.deb ... 96s Unpacking libdebhelper-perl (13.28ubuntu1) ... 96s Selecting previously unselected package libtool. 96s Preparing to unpack .../34-libtool_2.5.4-9_all.deb ... 96s Unpacking libtool (2.5.4-9) ... 96s Selecting previously unselected package dh-autoreconf. 96s Preparing to unpack .../35-dh-autoreconf_21_all.deb ... 96s Unpacking dh-autoreconf (21) ... 96s Selecting previously unselected package libarchive-zip-perl. 96s Preparing to unpack .../36-libarchive-zip-perl_1.68-1_all.deb ... 96s Unpacking libarchive-zip-perl (1.68-1) ... 96s Selecting previously unselected package libfile-stripnondeterminism-perl. 96s Preparing to unpack .../37-libfile-stripnondeterminism-perl_1.15.0-1build1_all.deb ... 96s Unpacking libfile-stripnondeterminism-perl (1.15.0-1build1) ... 96s Selecting previously unselected package dh-strip-nondeterminism. 96s Preparing to unpack .../38-dh-strip-nondeterminism_1.15.0-1build1_all.deb ... 96s Unpacking dh-strip-nondeterminism (1.15.0-1build1) ... 96s Selecting previously unselected package debugedit. 96s Preparing to unpack .../39-debugedit_1%3a5.2-3_arm64.deb ... 96s Unpacking debugedit (1:5.2-3) ... 96s Selecting previously unselected package dwz. 96s Preparing to unpack .../40-dwz_0.16-2_arm64.deb ... 96s Unpacking dwz (0.16-2) ... 96s Selecting previously unselected package gettext. 96s Preparing to unpack .../41-gettext_0.23.2-1_arm64.deb ... 96s Unpacking gettext (0.23.2-1) ... 96s Selecting previously unselected package intltool-debian. 96s Preparing to unpack .../42-intltool-debian_0.35.0+20060710.6build1_all.deb ... 96s Unpacking intltool-debian (0.35.0+20060710.6build1) ... 96s Selecting previously unselected package po-debconf. 96s Preparing to unpack .../43-po-debconf_1.0.22_all.deb ... 96s Unpacking po-debconf (1.0.22) ... 96s Selecting previously unselected package debhelper. 96s Preparing to unpack .../44-debhelper_13.28ubuntu1_all.deb ... 96s Unpacking debhelper (13.28ubuntu1) ... 96s Selecting previously unselected package dh-python. 96s Preparing to unpack .../45-dh-python_7.20251231_all.deb ... 96s Unpacking dh-python (7.20251231) ... 96s Selecting previously unselected package xdg-dbus-proxy. 97s Preparing to unpack .../46-xdg-dbus-proxy_0.1.6-2_arm64.deb ... 97s Unpacking xdg-dbus-proxy (0.1.6-2) ... 97s Selecting previously unselected package libstemmer0d:arm64. 97s Preparing to unpack .../47-libstemmer0d_3.0.1-1_arm64.deb ... 97s Unpacking libstemmer0d:arm64 (3.0.1-1) ... 97s Selecting previously unselected package libappstream5:arm64. 97s Preparing to unpack .../48-libappstream5_1.0.6-2_arm64.deb ... 97s Unpacking libappstream5:arm64 (1.0.6-2) ... 97s Selecting previously unselected package libdconf1:arm64. 97s Preparing to unpack .../49-libdconf1_0.49.0-4_arm64.deb ... 97s Unpacking libdconf1:arm64 (0.49.0-4) ... 97s Selecting previously unselected package libgdk-pixbuf2.0-common. 97s Preparing to unpack .../50-libgdk-pixbuf2.0-common_2.44.4+dfsg-1_all.deb ... 97s Unpacking libgdk-pixbuf2.0-common (2.44.4+dfsg-1) ... 97s Selecting previously unselected package libjpeg-turbo8:arm64. 97s Preparing to unpack .../51-libjpeg-turbo8_2.1.5-4ubuntu2_arm64.deb ... 97s Unpacking libjpeg-turbo8:arm64 (2.1.5-4ubuntu2) ... 97s Selecting previously unselected package libjpeg8:arm64. 97s Preparing to unpack .../52-libjpeg8_8c-2ubuntu11_arm64.deb ... 97s Unpacking libjpeg8:arm64 (8c-2ubuntu11) ... 97s Selecting previously unselected package libdeflate0:arm64. 97s Preparing to unpack .../53-libdeflate0_1.23-2_arm64.deb ... 97s Unpacking libdeflate0:arm64 (1.23-2) ... 97s Selecting previously unselected package libjbig0:arm64. 97s Preparing to unpack .../54-libjbig0_2.1-6.1ubuntu3_arm64.deb ... 97s Unpacking libjbig0:arm64 (2.1-6.1ubuntu3) ... 97s Selecting previously unselected package liblerc4:arm64. 97s Preparing to unpack .../55-liblerc4_4.0.0+ds-5ubuntu2_arm64.deb ... 97s Unpacking liblerc4:arm64 (4.0.0+ds-5ubuntu2) ... 97s Selecting previously unselected package libsharpyuv0:arm64. 97s Preparing to unpack .../56-libsharpyuv0_1.5.0-0.1build1_arm64.deb ... 97s Unpacking libsharpyuv0:arm64 (1.5.0-0.1build1) ... 97s Selecting previously unselected package libwebp7:arm64. 97s Preparing to unpack .../57-libwebp7_1.5.0-0.1build1_arm64.deb ... 97s Unpacking libwebp7:arm64 (1.5.0-0.1build1) ... 97s Selecting previously unselected package libtiff6:arm64. 97s Preparing to unpack .../58-libtiff6_4.7.0-3ubuntu3_arm64.deb ... 97s Unpacking libtiff6:arm64 (4.7.0-3ubuntu3) ... 97s Selecting previously unselected package libgdk-pixbuf-2.0-0:arm64. 97s Preparing to unpack .../59-libgdk-pixbuf-2.0-0_2.44.4+dfsg-1_arm64.deb ... 97s Unpacking libgdk-pixbuf-2.0-0:arm64 (2.44.4+dfsg-1) ... 97s Selecting previously unselected package libmalcontent-0-0:arm64. 97s Preparing to unpack .../60-libmalcontent-0-0_0.13.1-2ubuntu2_arm64.deb ... 97s Unpacking libmalcontent-0-0:arm64 (0.13.1-2ubuntu2) ... 97s Selecting previously unselected package libavahi-common-data:arm64. 97s Preparing to unpack .../61-libavahi-common-data_0.8-17ubuntu1_arm64.deb ... 97s Unpacking libavahi-common-data:arm64 (0.8-17ubuntu1) ... 97s Selecting previously unselected package libavahi-common3:arm64. 97s Preparing to unpack .../62-libavahi-common3_0.8-17ubuntu1_arm64.deb ... 97s Unpacking libavahi-common3:arm64 (0.8-17ubuntu1) ... 97s Selecting previously unselected package libavahi-client3:arm64. 97s Preparing to unpack .../63-libavahi-client3_0.8-17ubuntu1_arm64.deb ... 97s Unpacking libavahi-client3:arm64 (0.8-17ubuntu1) ... 97s Selecting previously unselected package libavahi-glib1:arm64. 97s Preparing to unpack .../64-libavahi-glib1_0.8-17ubuntu1_arm64.deb ... 97s Unpacking libavahi-glib1:arm64 (0.8-17ubuntu1) ... 97s Selecting previously unselected package libostree-1-1:arm64. 97s Preparing to unpack .../65-libostree-1-1_2025.7-1_arm64.deb ... 97s Unpacking libostree-1-1:arm64 (2025.7-1) ... 97s Selecting previously unselected package libwayland-client0:arm64. 97s Preparing to unpack .../66-libwayland-client0_1.24.0-2_arm64.deb ... 97s Unpacking libwayland-client0:arm64 (1.24.0-2) ... 97s Selecting previously unselected package flatpak. 98s Preparing to unpack .../67-flatpak_1.16.2-1_arm64.deb ... 98s Unpacking flatpak (1.16.2-1) ... 98s Selecting previously unselected package gir1.2-ostree-1.0:arm64. 98s Preparing to unpack .../68-gir1.2-ostree-1.0_2025.7-1_arm64.deb ... 98s Unpacking gir1.2-ostree-1.0:arm64 (2025.7-1) ... 98s Selecting previously unselected package ostree. 98s Preparing to unpack .../69-ostree_2025.7-1_arm64.deb ... 98s Unpacking ostree (2025.7-1) ... 98s Selecting previously unselected package ostree-push. 98s Preparing to unpack .../70-ostree-push_1.2.0-1_all.deb ... 98s Unpacking ostree-push (1.2.0-1) ... 98s Selecting previously unselected package pybuild-plugin-autopkgtest. 98s Preparing to unpack .../71-pybuild-plugin-autopkgtest_7.20251231_all.deb ... 98s Unpacking pybuild-plugin-autopkgtest (7.20251231) ... 98s Selecting previously unselected package python3-pyproject-hooks. 98s Preparing to unpack .../72-python3-pyproject-hooks_1.2.0-1_all.deb ... 98s Unpacking python3-pyproject-hooks (1.2.0-1) ... 98s Selecting previously unselected package python3-wheel. 98s Preparing to unpack .../73-python3-wheel_0.46.1-2_all.deb ... 98s Unpacking python3-wheel (0.46.1-2) ... 98s Selecting previously unselected package python3-build. 98s Preparing to unpack .../74-python3-build_1.2.2-5_all.deb ... 98s Unpacking python3-build (1.2.2-5) ... 98s Selecting previously unselected package python3-installer. 98s Preparing to unpack .../75-python3-installer_0.7.0+dfsg1-3_all.deb ... 98s Unpacking python3-installer (0.7.0+dfsg1-3) ... 98s Selecting previously unselected package pybuild-plugin-pyproject. 98s Preparing to unpack .../76-pybuild-plugin-pyproject_7.20251231_all.deb ... 98s Unpacking pybuild-plugin-pyproject (7.20251231) ... 98s Selecting previously unselected package python3-all. 98s Preparing to unpack .../77-python3-all_3.14.2-1_arm64.deb ... 98s Unpacking python3-all (3.14.2-1) ... 98s Selecting previously unselected package python3-iniconfig. 98s Preparing to unpack .../78-python3-iniconfig_2.1.0-2_all.deb ... 98s Unpacking python3-iniconfig (2.1.0-2) ... 98s Selecting previously unselected package python3-pluggy. 98s Preparing to unpack .../79-python3-pluggy_1.6.0-2_all.deb ... 98s Unpacking python3-pluggy (1.6.0-2) ... 98s Selecting previously unselected package python3-pytest. 98s Preparing to unpack .../80-python3-pytest_9.0.2-2_all.deb ... 98s Unpacking python3-pytest (9.0.2-2) ... 98s Setting up dh-python (7.20251231) ... 99s Setting up bubblewrap (0.11.0-2build1) ... 99s Setting up python3-iniconfig (2.1.0-2) ... 99s Setting up libsharpyuv0:arm64 (1.5.0-0.1build1) ... 99s Setting up liblerc4:arm64 (4.0.0+ds-5ubuntu2) ... 99s Setting up libarchive-zip-perl (1.68-1) ... 99s Setting up libdebhelper-perl (13.28ubuntu1) ... 99s Setting up libgdk-pixbuf2.0-common (2.44.4+dfsg-1) ... 99s Setting up libdeflate0:arm64 (1.23-2) ... 99s Setting up m4 (1.4.20-2) ... 99s Setting up libgomp1:arm64 (15.2.0-11ubuntu1) ... 99s Setting up python3-wheel (0.46.1-2) ... 99s Setting up libjbig0:arm64 (2.1-6.1ubuntu3) ... 99s Setting up libdconf1:arm64 (0.49.0-4) ... 99s Setting up autotools-dev (20240727.1) ... 99s Setting up python3-pyproject-hooks (1.2.0-1) ... 99s Setting up libavahi-common-data:arm64 (0.8-17ubuntu1) ... 99s Setting up libmpc3:arm64 (1.3.1-2) ... 99s Setting up autopoint (0.23.2-1) ... 99s Setting up libjpeg-turbo8:arm64 (2.1.5-4ubuntu2) ... 99s Setting up python3-installer (0.7.0+dfsg1-3) ... 100s Setting up autoconf (2.72-3.1ubuntu1) ... 100s Setting up python3-pluggy (1.6.0-2) ... 100s Setting up libwebp7:arm64 (1.5.0-0.1build1) ... 100s Setting up libubsan1:arm64 (15.2.0-11ubuntu1) ... 100s Setting up xdg-dbus-proxy (0.1.6-2) ... 100s Setting up dwz (0.16-2) ... 100s Setting up libhwasan0:arm64 (15.2.0-11ubuntu1) ... 100s Setting up libasan8:arm64 (15.2.0-11ubuntu1) ... 100s Setting up debugedit (1:5.2-3) ... 100s Setting up python3.13-minimal (3.13.11-1) ... 101s Setting up libstemmer0d:arm64 (3.0.1-1) ... 101s Setting up libtsan2:arm64 (15.2.0-11ubuntu1) ... 101s Setting up libisl23:arm64 (0.27-1build1) ... 101s Setting up python3-build (1.2.2-5) ... 101s Setting up libcc1-0:arm64 (15.2.0-11ubuntu1) ... 101s Setting up liblsan0:arm64 (15.2.0-11ubuntu1) ... 101s Setting up libitm1:arm64 (15.2.0-11ubuntu1) ... 101s Setting up libmalcontent-0-0:arm64 (0.13.1-2ubuntu2) ... 101s Setting up libwayland-client0:arm64 (1.24.0-2) ... 101s Setting up libjpeg8:arm64 (8c-2ubuntu11) ... 101s Setting up automake (1:1.18.1-3build1) ... 101s update-alternatives: using /usr/bin/automake-1.18 to provide /usr/bin/automake (automake) in auto mode 101s Setting up libfile-stripnondeterminism-perl (1.15.0-1build1) ... 101s Setting up cpp-15-aarch64-linux-gnu (15.2.0-11ubuntu1) ... 101s Setting up gettext (0.23.2-1) ... 101s Setting up libgcc-15-dev:arm64 (15.2.0-11ubuntu1) ... 101s Setting up python3.13 (3.13.11-1) ... 102s Setting up pybuild-plugin-pyproject (7.20251231) ... 102s Setting up python3-pytest (9.0.2-2) ... 103s Setting up libavahi-common3:arm64 (0.8-17ubuntu1) ... 103s Setting up python3-all (3.14.2-1) ... 103s Setting up libappstream5:arm64 (1.0.6-2) ... 103s Setting up intltool-debian (0.35.0+20060710.6build1) ... 103s Setting up cpp-aarch64-linux-gnu (4:15.2.0-4ubuntu1) ... 103s Setting up libstdc++-15-dev:arm64 (15.2.0-11ubuntu1) ... 103s Setting up dh-strip-nondeterminism (1.15.0-1build1) ... 103s Setting up cpp-15 (15.2.0-11ubuntu1) ... 103s Setting up libtiff6:arm64 (4.7.0-3ubuntu3) ... 103s Setting up cpp (4:15.2.0-4ubuntu1) ... 103s Setting up libgdk-pixbuf-2.0-0:arm64 (2.44.4+dfsg-1) ... 103s Setting up libavahi-glib1:arm64 (0.8-17ubuntu1) ... 103s Setting up libavahi-client3:arm64 (0.8-17ubuntu1) ... 103s Setting up gcc-15-aarch64-linux-gnu (15.2.0-11ubuntu1) ... 103s Setting up po-debconf (1.0.22) ... 103s Setting up libostree-1-1:arm64 (2025.7-1) ... 103s Setting up ostree (2025.7-1) ... 103s Setting up gcc-15 (15.2.0-11ubuntu1) ... 103s Setting up g++-15-aarch64-linux-gnu (15.2.0-11ubuntu1) ... 103s Setting up gir1.2-ostree-1.0:arm64 (2025.7-1) ... 103s Setting up flatpak (1.16.2-1) ... 103s Setting up g++-15 (15.2.0-11ubuntu1) ... 103s Setting up gcc-aarch64-linux-gnu (4:15.2.0-4ubuntu1) ... 103s Setting up ostree-push (1.2.0-1) ... 104s Setting up libtool (2.5.4-9) ... 104s Setting up gcc (4:15.2.0-4ubuntu1) ... 104s Setting up dh-autoreconf (21) ... 104s Setting up g++-aarch64-linux-gnu (4:15.2.0-4ubuntu1) ... 104s Setting up debhelper (13.28ubuntu1) ... 104s Setting up g++ (4:15.2.0-4ubuntu1) ... 104s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 104s Setting up build-essential (12.12ubuntu2) ... 104s Setting up pybuild-plugin-autopkgtest (7.20251231) ... 104s Processing triggers for man-db (2.13.1-1) ... 105s Processing triggers for dbus (1.16.2-2ubuntu2) ... 105s Processing triggers for procps (2:4.0.4-9ubuntu1) ... 105s Processing triggers for install-info (7.2-5) ... 105s Processing triggers for libc-bin (2.42-2ubuntu4) ... 105s Processing triggers for systemd (259-1ubuntu2) ... 106s autopkgtest [19:26:25]: test pybuild-autopkgtest: pybuild-autopkgtest 106s autopkgtest [19:26:25]: test pybuild-autopkgtest: [----------------------- 106s ln -sr tests/ostree-receive tests/ostree-receive-0 106s ln -sr tests/ostree-receive tests/ostree-receive-1 106s pybuild-autopkgtest 107s I: pybuild base:384: cd /tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build; python3.13 -m pytest tests 107s ============================= test session starts ============================== 107s platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0 107s rootdir: /tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build 107s plugins: typeguard-4.4.4 107s collected 99 items 107s 111s tests/test_full.py FFFFFF [ 6%] 120s tests/test_push.py ................................. [ 39%] 122s tests/test_receive.py ...........ss...s................................. [ 89%] 122s . [ 90%] 123s tests/test_receive_legacy.py .. [ 92%] 124s tests/test_receive_shell.py .....s [ 98%] 124s tests/test_sshd.py . [100%] 124s 124s =================================== FAILURES =================================== 124s _______________________________ test_no_commits ________________________________ 124s 124s source_repo = 124s dest_repo = 124s sshd = SSHServerInfo(proc=, address='127.0.0.1', port=40507) 124s ssh_options = ['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', ...] 124s cli_env_vars = {'PATH': '/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:...ild.zeh/src/debian/python3-ostree-push/usr/lib/python3.13/dist-packages:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build'} 124s receive_config_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_no_commits0/ostree-receive.conf') 124s capfd = <_pytest.capture.CaptureFixture object at 0xe427ef88cd70> 124s 124s def test_no_commits(source_repo, dest_repo, sshd, ssh_options, 124s cli_env_vars, receive_config_path, capfd): 124s """Test push with no commits in source repo""" 124s args = ( 124s source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 124s receive_config_path 124s ) 124s 124s > run_push(*args) 124s 124s tests/test_full.py:54: 124s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 124s tests/test_full.py:43: in run_push 124s return subprocess.run(cmd, **popen_kwargs) 124s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 124s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 124s 124s input = None, capture_output = False, timeout = None, check = True 124s popenargs = (['ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-0/test_no_commits0/source-repo', '--command=ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', ...],) 124s kwargs = {'env': {'ADTTMP': '/tmp/autopkgtest.hUcnxx/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.hUcnxx/pybuild-autopk...': 'python3-defaults/3.14.2-1', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.hUcnxx/pybuild-autopkgtest-artifacts', ...}} 124s process = 124s stdout = None, stderr = None, retcode = 1 124s 124s def run(*popenargs, 124s input=None, capture_output=False, timeout=None, check=False, **kwargs): 124s """Run command with arguments and return a CompletedProcess instance. 124s 124s The returned instance will have attributes args, returncode, stdout and 124s stderr. By default, stdout and stderr are not captured, and those attributes 124s will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, 124s or pass capture_output=True to capture both. 124s 124s If check is True and the exit code was non-zero, it raises a 124s CalledProcessError. The CalledProcessError object will have the return code 124s in the returncode attribute, and output & stderr attributes if those streams 124s were captured. 124s 124s If timeout (seconds) is given and the process takes too long, 124s a TimeoutExpired exception will be raised. 124s 124s There is an optional argument "input", allowing you to 124s pass bytes or a string to the subprocess's stdin. If you use this argument 124s you may not also use the Popen constructor's "stdin" argument, as 124s it will be used internally. 124s 124s By default, all communication is in bytes, and therefore any "input" should 124s be bytes, and the stdout and stderr will be bytes. If in text mode, any 124s "input" should be a string, and stdout and stderr will be strings decoded 124s according to locale encoding, or by "encoding" if set. Text mode is 124s triggered by setting any of text, encoding, errors or universal_newlines. 124s 124s The other arguments are the same as for the Popen constructor. 124s """ 124s if input is not None: 124s if kwargs.get('stdin') is not None: 124s raise ValueError('stdin and input arguments may not both be used.') 124s kwargs['stdin'] = PIPE 124s 124s if capture_output: 124s if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: 124s raise ValueError('stdout and stderr arguments may not be used ' 124s 'with capture_output.') 124s kwargs['stdout'] = PIPE 124s kwargs['stderr'] = PIPE 124s 124s with Popen(*popenargs, **kwargs) as process: 124s try: 124s stdout, stderr = process.communicate(input, timeout=timeout) 124s except TimeoutExpired as exc: 124s process.kill() 124s if _mswindows: 124s # Windows accumulates the output in a single blocking 124s # read() call run on child threads, with the timeout 124s # being done in a join() on those threads. communicate() 124s # _after_ kill() is required to collect that and add it 124s # to the exception. 124s exc.stdout, exc.stderr = process.communicate() 124s else: 124s # POSIX _communicate already populated the output so 124s # far into the TimeoutExpired exception. 124s process.wait() 124s raise 124s except: # Including KeyboardInterrupt, communicate handled that. 124s process.kill() 124s # We don't call process.wait() as .__exit__ does that for us. 124s raise 124s retcode = process.poll() 124s if check and retcode: 124s > raise CalledProcessError(retcode, process.args, 124s output=stdout, stderr=stderr) 124s E subprocess.CalledProcessError: Command '['ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-0/test_no_commits0/source-repo', '--command=ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', '-o', 'UserKnownHostsFile=/dev/null', 'ssh://127.0.0.1:40507//tmp/pytest-of-ubuntu/pytest-0/test_no_commits0/dest-repo']' returned non-zero exit status 1. 124s 124s /usr/lib/python3.13/subprocess.py:577: CalledProcessError 124s ---------------------------- Captured stderr setup ----------------------------- 124s Server listening on 127.0.0.1 port 40507. 124s Connection closed by 127.0.0.1 port 42666 124s ----------------------------- Captured stderr call ----------------------------- 124s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build:/tmp/autopkgtest.hUcnxx/build.zeh/src/debian/python3-ostree-push/usr/lib/python3.13/dist-packages:/usr/lib/python314.zip:/usr/lib/python3.14:/usr/lib/python3.14/lib-dynload:/usr/local/lib/python3.14/dist-packages:/usr/lib/python3/dist-packages 124s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-0/test_no_commits0/source-repo', '--command=ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', '-o', 'UserKnownHostsFile=/dev/null', 'ssh://127.0.0.1:40507//tmp/pytest-of-ubuntu/pytest-0/test_no_commits0/dest-repo'] 124s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-0/test_no_commits0/source-repo', commands=['ostree-receive-1'], ssh_options=[]), '-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa' 124s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-0/test_no_commits0/source-repo', commands=['ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa']), '-o', 'IdentitiesOnly=yes' 124s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-0/test_no_commits0/source-repo', commands=['ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes']), '-o', 'StrictHostKeyChecking=no' 124s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-0/test_no_commits0/source-repo', commands=['ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no']), '-o', 'UserKnownHostsFile=/dev/null' 124s DEBUG:otpush.push:/tmp/pytest-of-ubuntu/pytest-0/test_no_commits0/source-repo/summary does not exist, regenerating 124s INFO:otpush.push:Regenerating summary file 124s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build:/tmp/autopkgtest.hUcnxx/build.zeh/src/debian/python3-ostree-push/usr/lib/python3.13/dist-packages:/usr/lib/python314.zip:/usr/lib/python3.14:/usr/lib/python3.14/lib-dynload:/usr/local/lib/python3.14/dist-packages:/usr/lib/python3/dist-packages 124s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push'] 124s usage: ostree-push [-h] [-n] [-p PORT] [-q] [-v] [--repo REPO] 124s [--command COMMAND] [-i OPTION] [--version] 124s DEST [REF ...] 124s ostree-push: error: the following arguments are required: DEST 124s Traceback (most recent call last): 124s File "/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push", line 14, in 124s push.main() 124s ~~~~~~~~~^^ 124s File "/usr/lib/python3/dist-packages/otpush/push.py", line 574, in main 124s push_refs( 124s ~~~~~~~~~^ 124s repo, 124s ^^^^^ 124s ...<4 lines>... 124s dry_run=args.dry_run, 124s ^^^^^^^^^^^^^^^^^^^^^ 124s ) 124s ^ 124s File "/usr/lib/python3/dist-packages/otpush/push.py", line 349, in push_refs 124s with RepoServer(local_repo_path) as http_server: 124s ~~~~~~~~~~^^^^^^^^^^^^^^^^^ 124s File "/usr/lib/python3/dist-packages/otpush/push.py", line 114, in __enter__ 124s self.start() 124s ~~~~~~~~~~^^ 124s File "/usr/lib/python3/dist-packages/otpush/push.py", line 141, in start 124s self.proc.start() 124s ~~~~~~~~~~~~~~~^^ 124s File "/usr/lib/python3.14/multiprocessing/process.py", line 121, in start 124s self._popen = self._Popen(self) 124s ~~~~~~~~~~~^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/context.py", line 224, in _Popen 124s return _default_context.get_context().Process._Popen(process_obj) 124s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/context.py", line 300, in _Popen 124s return Popen(process_obj) 124s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 35, in __init__ 124s super().__init__(process_obj) 124s ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/popen_fork.py", line 20, in __init__ 124s self._launch(process_obj) 124s ~~~~~~~~~~~~^^^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 51, in _launch 124s self.sentinel, w = forkserver.connect_to_new_process(self._fds) 124s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/forkserver.py", line 106, in connect_to_new_process 124s connection.answer_challenge( 124s ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 124s wrapped_client, self._forkserver_authkey) 124s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/connection.py", line 970, in answer_challenge 124s message = connection.recv_bytes(256) # reject large message 124s File "/usr/lib/python3.14/multiprocessing/connection.py", line 222, in recv_bytes 124s buf = self._recv_bytes(maxlength) 124s File "/usr/lib/python3.14/multiprocessing/connection.py", line 447, in _recv_bytes 124s buf = self._recv(4) 124s File "/usr/lib/python3.14/multiprocessing/connection.py", line 412, in _recv 124s chunk = read(handle, to_read) 124s ConnectionResetError: [Errno 104] Connection reset by peer 124s __________________________________ test_basic __________________________________ 124s 124s source_repo = 124s dest_repo = 124s sshd = SSHServerInfo(proc=, address='127.0.0.1', port=40507) 124s ssh_options = ['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', ...] 124s cli_env_vars = {'PATH': '/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:...ild.zeh/src/debian/python3-ostree-push/usr/lib/python3.13/dist-packages:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build'} 124s receive_config_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_basic0/ostree-receive.conf') 124s tmp_files_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_basic0/files') 124s capfd = <_pytest.capture.CaptureFixture object at 0xe427f0030f50> 124s 124s def test_basic(source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 124s receive_config_path, tmp_files_path, capfd): 124s """Test push with one commit in source repo""" 124s args = ( 124s source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 124s receive_config_path 124s ) 124s 124s rev = random_commit(source_repo, tmp_files_path, 'test') 124s source_content = get_content_checksum(source_repo, rev) 124s 124s wipe_repo(dest_repo) 124s > run_push(*args) 124s 124s tests/test_full.py:79: 124s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 124s tests/test_full.py:43: in run_push 124s return subprocess.run(cmd, **popen_kwargs) 124s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 124s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 124s 124s input = None, capture_output = False, timeout = None, check = True 124s popenargs = (['ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-0/test_basic0/source-repo', '--command=ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', ...],) 124s kwargs = {'env': {'ADTTMP': '/tmp/autopkgtest.hUcnxx/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.hUcnxx/pybuild-autopk...': 'python3-defaults/3.14.2-1', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.hUcnxx/pybuild-autopkgtest-artifacts', ...}} 124s process = 124s stdout = None, stderr = None, retcode = 1 124s 124s def run(*popenargs, 124s input=None, capture_output=False, timeout=None, check=False, **kwargs): 124s """Run command with arguments and return a CompletedProcess instance. 124s 124s The returned instance will have attributes args, returncode, stdout and 124s stderr. By default, stdout and stderr are not captured, and those attributes 124s will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, 124s or pass capture_output=True to capture both. 124s 124s If check is True and the exit code was non-zero, it raises a 124s CalledProcessError. The CalledProcessError object will have the return code 124s in the returncode attribute, and output & stderr attributes if those streams 124s were captured. 124s 124s If timeout (seconds) is given and the process takes too long, 124s a TimeoutExpired exception will be raised. 124s 124s There is an optional argument "input", allowing you to 124s pass bytes or a string to the subprocess's stdin. If you use this argument 124s you may not also use the Popen constructor's "stdin" argument, as 124s it will be used internally. 124s 124s By default, all communication is in bytes, and therefore any "input" should 124s be bytes, and the stdout and stderr will be bytes. If in text mode, any 124s "input" should be a string, and stdout and stderr will be strings decoded 124s according to locale encoding, or by "encoding" if set. Text mode is 124s triggered by setting any of text, encoding, errors or universal_newlines. 124s 124s The other arguments are the same as for the Popen constructor. 124s """ 124s if input is not None: 124s if kwargs.get('stdin') is not None: 124s raise ValueError('stdin and input arguments may not both be used.') 124s kwargs['stdin'] = PIPE 124s 124s if capture_output: 124s if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: 124s raise ValueError('stdout and stderr arguments may not be used ' 124s 'with capture_output.') 124s kwargs['stdout'] = PIPE 124s kwargs['stderr'] = PIPE 124s 124s with Popen(*popenargs, **kwargs) as process: 124s try: 124s stdout, stderr = process.communicate(input, timeout=timeout) 124s except TimeoutExpired as exc: 124s process.kill() 124s if _mswindows: 124s # Windows accumulates the output in a single blocking 124s # read() call run on child threads, with the timeout 124s # being done in a join() on those threads. communicate() 124s # _after_ kill() is required to collect that and add it 124s # to the exception. 124s exc.stdout, exc.stderr = process.communicate() 124s else: 124s # POSIX _communicate already populated the output so 124s # far into the TimeoutExpired exception. 124s process.wait() 124s raise 124s except: # Including KeyboardInterrupt, communicate handled that. 124s process.kill() 124s # We don't call process.wait() as .__exit__ does that for us. 124s raise 124s retcode = process.poll() 124s if check and retcode: 124s > raise CalledProcessError(retcode, process.args, 124s output=stdout, stderr=stderr) 124s E subprocess.CalledProcessError: Command '['ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-0/test_basic0/source-repo', '--command=ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', '-o', 'UserKnownHostsFile=/dev/null', 'ssh://127.0.0.1:40507//tmp/pytest-of-ubuntu/pytest-0/test_basic0/dest-repo']' returned non-zero exit status 1. 124s 124s /usr/lib/python3.13/subprocess.py:577: CalledProcessError 124s ----------------------------- Captured stderr call ----------------------------- 124s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build:/tmp/autopkgtest.hUcnxx/build.zeh/src/debian/python3-ostree-push/usr/lib/python3.13/dist-packages:/usr/lib/python314.zip:/usr/lib/python3.14:/usr/lib/python3.14/lib-dynload:/usr/local/lib/python3.14/dist-packages:/usr/lib/python3/dist-packages 124s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-0/test_basic0/source-repo', '--command=ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', '-o', 'UserKnownHostsFile=/dev/null', 'ssh://127.0.0.1:40507//tmp/pytest-of-ubuntu/pytest-0/test_basic0/dest-repo'] 124s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-0/test_basic0/source-repo', commands=['ostree-receive-1'], ssh_options=[]), '-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa' 124s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-0/test_basic0/source-repo', commands=['ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa']), '-o', 'IdentitiesOnly=yes' 124s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-0/test_basic0/source-repo', commands=['ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes']), '-o', 'StrictHostKeyChecking=no' 124s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-0/test_basic0/source-repo', commands=['ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no']), '-o', 'UserKnownHostsFile=/dev/null' 124s DEBUG:otpush.push:Repo /tmp/pytest-of-ubuntu/pytest-0/test_basic0/source-repo has been modified more recently than /tmp/pytest-of-ubuntu/pytest-0/test_basic0/source-repo/summary, regenerating 124s INFO:otpush.push:Regenerating summary file 124s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build:/tmp/autopkgtest.hUcnxx/build.zeh/src/debian/python3-ostree-push/usr/lib/python3.13/dist-packages:/usr/lib/python314.zip:/usr/lib/python3.14:/usr/lib/python3.14/lib-dynload:/usr/local/lib/python3.14/dist-packages:/usr/lib/python3/dist-packages 124s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push'] 124s usage: ostree-push [-h] [-n] [-p PORT] [-q] [-v] [--repo REPO] 124s [--command COMMAND] [-i OPTION] [--version] 124s DEST [REF ...] 124s ostree-push: error: the following arguments are required: DEST 124s Traceback (most recent call last): 124s File "/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push", line 14, in 124s push.main() 124s ~~~~~~~~~^^ 124s File "/usr/lib/python3/dist-packages/otpush/push.py", line 574, in main 124s push_refs( 124s ~~~~~~~~~^ 124s repo, 124s ^^^^^ 124s ...<4 lines>... 124s dry_run=args.dry_run, 124s ^^^^^^^^^^^^^^^^^^^^^ 124s ) 124s ^ 124s File "/usr/lib/python3/dist-packages/otpush/push.py", line 349, in push_refs 124s with RepoServer(local_repo_path) as http_server: 124s ~~~~~~~~~~^^^^^^^^^^^^^^^^^ 124s File "/usr/lib/python3/dist-packages/otpush/push.py", line 114, in __enter__ 124s self.start() 124s ~~~~~~~~~~^^ 124s File "/usr/lib/python3/dist-packages/otpush/push.py", line 141, in start 124s self.proc.start() 124s ~~~~~~~~~~~~~~~^^ 124s File "/usr/lib/python3.14/multiprocessing/process.py", line 121, in start 124s self._popen = self._Popen(self) 124s ~~~~~~~~~~~^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/context.py", line 224, in _Popen 124s return _default_context.get_context().Process._Popen(process_obj) 124s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/context.py", line 300, in _Popen 124s return Popen(process_obj) 124s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 35, in __init__ 124s super().__init__(process_obj) 124s ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/popen_fork.py", line 20, in __init__ 124s self._launch(process_obj) 124s ~~~~~~~~~~~~^^^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 51, in _launch 124s self.sentinel, w = forkserver.connect_to_new_process(self._fds) 124s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/forkserver.py", line 106, in connect_to_new_process 124s connection.answer_challenge( 124s ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 124s wrapped_client, self._forkserver_authkey) 124s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/connection.py", line 970, in answer_challenge 124s message = connection.recv_bytes(256) # reject large message 124s File "/usr/lib/python3.14/multiprocessing/connection.py", line 222, in recv_bytes 124s buf = self._recv_bytes(maxlength) 124s File "/usr/lib/python3.14/multiprocessing/connection.py", line 447, in _recv_bytes 124s buf = self._recv(4) 124s File "/usr/lib/python3.14/multiprocessing/connection.py", line 412, in _recv 124s chunk = read(handle, to_read) 124s ConnectionResetError: [Errno 104] Connection reset by peer 124s _________________________________ test_dry_run _________________________________ 124s 124s source_repo = 124s dest_repo = 124s sshd = SSHServerInfo(proc=, address='127.0.0.1', port=40507) 124s ssh_options = ['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', ...] 124s cli_env_vars = {'PATH': '/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:...ild.zeh/src/debian/python3-ostree-push/usr/lib/python3.13/dist-packages:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build'} 124s receive_config_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_dry_run0/ostree-receive.conf') 124s tmp_files_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_dry_run0/files') 124s 124s def test_dry_run(source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 124s receive_config_path, tmp_files_path): 124s """Test push dry run""" 124s args = ( 124s source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 124s receive_config_path 124s ) 124s 124s random_commit(source_repo, tmp_files_path, 'test') 124s 124s wipe_repo(dest_repo) 124s > run_push(*args, options=['-n']) 124s 124s tests/test_full.py:114: 124s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 124s tests/test_full.py:43: in run_push 124s return subprocess.run(cmd, **popen_kwargs) 124s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 124s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 124s 124s input = None, capture_output = False, timeout = None, check = True 124s popenargs = (['ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-0/test_dry_run0/source-repo', '--command=ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', ...],) 124s kwargs = {'env': {'ADTTMP': '/tmp/autopkgtest.hUcnxx/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.hUcnxx/pybuild-autopk...': 'python3-defaults/3.14.2-1', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.hUcnxx/pybuild-autopkgtest-artifacts', ...}} 124s process = 124s stdout = None, stderr = None, retcode = 1 124s 124s def run(*popenargs, 124s input=None, capture_output=False, timeout=None, check=False, **kwargs): 124s """Run command with arguments and return a CompletedProcess instance. 124s 124s The returned instance will have attributes args, returncode, stdout and 124s stderr. By default, stdout and stderr are not captured, and those attributes 124s will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, 124s or pass capture_output=True to capture both. 124s 124s If check is True and the exit code was non-zero, it raises a 124s CalledProcessError. The CalledProcessError object will have the return code 124s in the returncode attribute, and output & stderr attributes if those streams 124s were captured. 124s 124s If timeout (seconds) is given and the process takes too long, 124s a TimeoutExpired exception will be raised. 124s 124s There is an optional argument "input", allowing you to 124s pass bytes or a string to the subprocess's stdin. If you use this argument 124s you may not also use the Popen constructor's "stdin" argument, as 124s it will be used internally. 124s 124s By default, all communication is in bytes, and therefore any "input" should 124s be bytes, and the stdout and stderr will be bytes. If in text mode, any 124s "input" should be a string, and stdout and stderr will be strings decoded 124s according to locale encoding, or by "encoding" if set. Text mode is 124s triggered by setting any of text, encoding, errors or universal_newlines. 124s 124s The other arguments are the same as for the Popen constructor. 124s """ 124s if input is not None: 124s if kwargs.get('stdin') is not None: 124s raise ValueError('stdin and input arguments may not both be used.') 124s kwargs['stdin'] = PIPE 124s 124s if capture_output: 124s if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: 124s raise ValueError('stdout and stderr arguments may not be used ' 124s 'with capture_output.') 124s kwargs['stdout'] = PIPE 124s kwargs['stderr'] = PIPE 124s 124s with Popen(*popenargs, **kwargs) as process: 124s try: 124s stdout, stderr = process.communicate(input, timeout=timeout) 124s except TimeoutExpired as exc: 124s process.kill() 124s if _mswindows: 124s # Windows accumulates the output in a single blocking 124s # read() call run on child threads, with the timeout 124s # being done in a join() on those threads. communicate() 124s # _after_ kill() is required to collect that and add it 124s # to the exception. 124s exc.stdout, exc.stderr = process.communicate() 124s else: 124s # POSIX _communicate already populated the output so 124s # far into the TimeoutExpired exception. 124s process.wait() 124s raise 124s except: # Including KeyboardInterrupt, communicate handled that. 124s process.kill() 124s # We don't call process.wait() as .__exit__ does that for us. 124s raise 124s retcode = process.poll() 124s if check and retcode: 124s > raise CalledProcessError(retcode, process.args, 124s output=stdout, stderr=stderr) 124s E subprocess.CalledProcessError: Command '['ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-0/test_dry_run0/source-repo', '--command=ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', '-o', 'UserKnownHostsFile=/dev/null', '-n', 'ssh://127.0.0.1:40507//tmp/pytest-of-ubuntu/pytest-0/test_dry_run0/dest-repo']' returned non-zero exit status 1. 124s 124s /usr/lib/python3.13/subprocess.py:577: CalledProcessError 124s ----------------------------- Captured stderr call ----------------------------- 124s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build:/tmp/autopkgtest.hUcnxx/build.zeh/src/debian/python3-ostree-push/usr/lib/python3.13/dist-packages:/usr/lib/python314.zip:/usr/lib/python3.14:/usr/lib/python3.14/lib-dynload:/usr/local/lib/python3.14/dist-packages:/usr/lib/python3/dist-packages 124s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-0/test_dry_run0/source-repo', '--command=ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', '-o', 'UserKnownHostsFile=/dev/null', '-n', 'ssh://127.0.0.1:40507//tmp/pytest-of-ubuntu/pytest-0/test_dry_run0/dest-repo'] 124s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-0/test_dry_run0/source-repo', commands=['ostree-receive-1'], ssh_options=[]), '-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa' 124s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-0/test_dry_run0/source-repo', commands=['ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa']), '-o', 'IdentitiesOnly=yes' 124s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-0/test_dry_run0/source-repo', commands=['ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes']), '-o', 'StrictHostKeyChecking=no' 124s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-0/test_dry_run0/source-repo', commands=['ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no']), '-o', 'UserKnownHostsFile=/dev/null' 124s DEBUG:otpush.push:Repo /tmp/pytest-of-ubuntu/pytest-0/test_dry_run0/source-repo has been modified more recently than /tmp/pytest-of-ubuntu/pytest-0/test_dry_run0/source-repo/summary, regenerating 124s INFO:otpush.push:Regenerating summary file 124s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build:/tmp/autopkgtest.hUcnxx/build.zeh/src/debian/python3-ostree-push/usr/lib/python3.13/dist-packages:/usr/lib/python314.zip:/usr/lib/python3.14:/usr/lib/python3.14/lib-dynload:/usr/local/lib/python3.14/dist-packages:/usr/lib/python3/dist-packages 124s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push'] 124s usage: ostree-push [-h] [-n] [-p PORT] [-q] [-v] [--repo REPO] 124s [--command COMMAND] [-i OPTION] [--version] 124s DEST [REF ...] 124s ostree-push: error: the following arguments are required: DEST 124s Traceback (most recent call last): 124s File "/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push", line 14, in 124s push.main() 124s ~~~~~~~~~^^ 124s File "/usr/lib/python3/dist-packages/otpush/push.py", line 574, in main 124s push_refs( 124s ~~~~~~~~~^ 124s repo, 124s ^^^^^ 124s ...<4 lines>... 124s dry_run=args.dry_run, 124s ^^^^^^^^^^^^^^^^^^^^^ 124s ) 124s ^ 124s File "/usr/lib/python3/dist-packages/otpush/push.py", line 349, in push_refs 124s with RepoServer(local_repo_path) as http_server: 124s ~~~~~~~~~~^^^^^^^^^^^^^^^^^ 124s File "/usr/lib/python3/dist-packages/otpush/push.py", line 114, in __enter__ 124s self.start() 124s ~~~~~~~~~~^^ 124s File "/usr/lib/python3/dist-packages/otpush/push.py", line 141, in start 124s self.proc.start() 124s ~~~~~~~~~~~~~~~^^ 124s File "/usr/lib/python3.14/multiprocessing/process.py", line 121, in start 124s self._popen = self._Popen(self) 124s ~~~~~~~~~~~^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/context.py", line 224, in _Popen 124s return _default_context.get_context().Process._Popen(process_obj) 124s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/context.py", line 300, in _Popen 124s return Popen(process_obj) 124s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 35, in __init__ 124s super().__init__(process_obj) 124s ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/popen_fork.py", line 20, in __init__ 124s self._launch(process_obj) 124s ~~~~~~~~~~~~^^^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 51, in _launch 124s self.sentinel, w = forkserver.connect_to_new_process(self._fds) 124s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/forkserver.py", line 106, in connect_to_new_process 124s connection.answer_challenge( 124s ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 124s wrapped_client, self._forkserver_authkey) 124s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/connection.py", line 970, in answer_challenge 124s message = connection.recv_bytes(256) # reject large message 124s File "/usr/lib/python3.14/multiprocessing/connection.py", line 222, in recv_bytes 124s buf = self._recv_bytes(maxlength) 124s File "/usr/lib/python3.14/multiprocessing/connection.py", line 447, in _recv_bytes 124s buf = self._recv(4) 124s File "/usr/lib/python3.14/multiprocessing/connection.py", line 412, in _recv 124s chunk = read(handle, to_read) 124s ConnectionResetError: [Errno 104] Connection reset by peer 124s ________________________________ test_scp_dest _________________________________ 124s 124s source_repo = 124s dest_repo = 124s sshd = SSHServerInfo(proc=, address='127.0.0.1', port=40507) 124s ssh_options = ['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', ...] 124s cli_env_vars = {'PATH': '/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:...ild.zeh/src/debian/python3-ostree-push/usr/lib/python3.13/dist-packages:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build'} 124s receive_config_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_scp_dest0/ostree-receive.conf') 124s tmp_files_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_scp_dest0/files') 124s 124s def test_scp_dest(source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 124s receive_config_path, tmp_files_path): 124s """Test push with scp style destination""" 124s args = ( 124s source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 124s receive_config_path 124s ) 124s dest = f'{sshd.address}:{dest_repo.path}' 124s options = ['-p', str(sshd.port)] 124s 124s random_commit(source_repo, tmp_files_path, 'test') 124s > run_push(*args, dest=dest, options=options) 124s 124s tests/test_full.py:140: 124s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 124s tests/test_full.py:43: in run_push 124s return subprocess.run(cmd, **popen_kwargs) 124s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 124s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 124s 124s input = None, capture_output = False, timeout = None, check = True 124s popenargs = (['ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-0/test_scp_dest0/source-repo', '--command=ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', ...],) 124s kwargs = {'env': {'ADTTMP': '/tmp/autopkgtest.hUcnxx/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.hUcnxx/pybuild-autopk...': 'python3-defaults/3.14.2-1', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.hUcnxx/pybuild-autopkgtest-artifacts', ...}} 124s process = 124s stdout = None, stderr = None, retcode = 1 124s 124s def run(*popenargs, 124s input=None, capture_output=False, timeout=None, check=False, **kwargs): 124s """Run command with arguments and return a CompletedProcess instance. 124s 124s The returned instance will have attributes args, returncode, stdout and 124s stderr. By default, stdout and stderr are not captured, and those attributes 124s will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, 124s or pass capture_output=True to capture both. 124s 124s If check is True and the exit code was non-zero, it raises a 124s CalledProcessError. The CalledProcessError object will have the return code 124s in the returncode attribute, and output & stderr attributes if those streams 124s were captured. 124s 124s If timeout (seconds) is given and the process takes too long, 124s a TimeoutExpired exception will be raised. 124s 124s There is an optional argument "input", allowing you to 124s pass bytes or a string to the subprocess's stdin. If you use this argument 124s you may not also use the Popen constructor's "stdin" argument, as 124s it will be used internally. 124s 124s By default, all communication is in bytes, and therefore any "input" should 124s be bytes, and the stdout and stderr will be bytes. If in text mode, any 124s "input" should be a string, and stdout and stderr will be strings decoded 124s according to locale encoding, or by "encoding" if set. Text mode is 124s triggered by setting any of text, encoding, errors or universal_newlines. 124s 124s The other arguments are the same as for the Popen constructor. 124s """ 124s if input is not None: 124s if kwargs.get('stdin') is not None: 124s raise ValueError('stdin and input arguments may not both be used.') 124s kwargs['stdin'] = PIPE 124s 124s if capture_output: 124s if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: 124s raise ValueError('stdout and stderr arguments may not be used ' 124s 'with capture_output.') 124s kwargs['stdout'] = PIPE 124s kwargs['stderr'] = PIPE 124s 124s with Popen(*popenargs, **kwargs) as process: 124s try: 124s stdout, stderr = process.communicate(input, timeout=timeout) 124s except TimeoutExpired as exc: 124s process.kill() 124s if _mswindows: 124s # Windows accumulates the output in a single blocking 124s # read() call run on child threads, with the timeout 124s # being done in a join() on those threads. communicate() 124s # _after_ kill() is required to collect that and add it 124s # to the exception. 124s exc.stdout, exc.stderr = process.communicate() 124s else: 124s # POSIX _communicate already populated the output so 124s # far into the TimeoutExpired exception. 124s process.wait() 124s raise 124s except: # Including KeyboardInterrupt, communicate handled that. 124s process.kill() 124s # We don't call process.wait() as .__exit__ does that for us. 124s raise 124s retcode = process.poll() 124s if check and retcode: 124s > raise CalledProcessError(retcode, process.args, 124s output=stdout, stderr=stderr) 124s E subprocess.CalledProcessError: Command '['ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-0/test_scp_dest0/source-repo', '--command=ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', '-o', 'UserKnownHostsFile=/dev/null', '-p', '40507', '127.0.0.1:/tmp/pytest-of-ubuntu/pytest-0/test_scp_dest0/dest-repo']' returned non-zero exit status 1. 124s 124s /usr/lib/python3.13/subprocess.py:577: CalledProcessError 124s ----------------------------- Captured stderr call ----------------------------- 124s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build:/tmp/autopkgtest.hUcnxx/build.zeh/src/debian/python3-ostree-push/usr/lib/python3.13/dist-packages:/usr/lib/python314.zip:/usr/lib/python3.14:/usr/lib/python3.14/lib-dynload:/usr/local/lib/python3.14/dist-packages:/usr/lib/python3/dist-packages 124s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-0/test_scp_dest0/source-repo', '--command=ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', '-o', 'UserKnownHostsFile=/dev/null', '-p', '40507', '127.0.0.1:/tmp/pytest-of-ubuntu/pytest-0/test_scp_dest0/dest-repo'] 124s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-0/test_scp_dest0/source-repo', commands=['ostree-receive-1'], ssh_options=[]), '-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa' 124s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-0/test_scp_dest0/source-repo', commands=['ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa']), '-o', 'IdentitiesOnly=yes' 124s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-0/test_scp_dest0/source-repo', commands=['ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes']), '-o', 'StrictHostKeyChecking=no' 124s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-0/test_scp_dest0/source-repo', commands=['ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no']), '-o', 'UserKnownHostsFile=/dev/null' 124s DEBUG:otpush.push:Repo /tmp/pytest-of-ubuntu/pytest-0/test_scp_dest0/source-repo has been modified more recently than /tmp/pytest-of-ubuntu/pytest-0/test_scp_dest0/source-repo/summary, regenerating 124s INFO:otpush.push:Regenerating summary file 124s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build:/tmp/autopkgtest.hUcnxx/build.zeh/src/debian/python3-ostree-push/usr/lib/python3.13/dist-packages:/usr/lib/python314.zip:/usr/lib/python3.14:/usr/lib/python3.14/lib-dynload:/usr/local/lib/python3.14/dist-packages:/usr/lib/python3/dist-packages 124s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push'] 124s usage: ostree-push [-h] [-n] [-p PORT] [-q] [-v] [--repo REPO] 124s [--command COMMAND] [-i OPTION] [--version] 124s DEST [REF ...] 124s ostree-push: error: the following arguments are required: DEST 124s Traceback (most recent call last): 124s File "/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push", line 14, in 124s push.main() 124s ~~~~~~~~~^^ 124s File "/usr/lib/python3/dist-packages/otpush/push.py", line 574, in main 124s push_refs( 124s ~~~~~~~~~^ 124s repo, 124s ^^^^^ 124s ...<4 lines>... 124s dry_run=args.dry_run, 124s ^^^^^^^^^^^^^^^^^^^^^ 124s ) 124s ^ 124s File "/usr/lib/python3/dist-packages/otpush/push.py", line 349, in push_refs 124s with RepoServer(local_repo_path) as http_server: 124s ~~~~~~~~~~^^^^^^^^^^^^^^^^^ 124s File "/usr/lib/python3/dist-packages/otpush/push.py", line 114, in __enter__ 124s self.start() 124s ~~~~~~~~~~^^ 124s File "/usr/lib/python3/dist-packages/otpush/push.py", line 141, in start 124s self.proc.start() 124s ~~~~~~~~~~~~~~~^^ 124s File "/usr/lib/python3.14/multiprocessing/process.py", line 121, in start 124s self._popen = self._Popen(self) 124s ~~~~~~~~~~~^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/context.py", line 224, in _Popen 124s return _default_context.get_context().Process._Popen(process_obj) 124s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/context.py", line 300, in _Popen 124s return Popen(process_obj) 124s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 35, in __init__ 124s super().__init__(process_obj) 124s ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/popen_fork.py", line 20, in __init__ 124s self._launch(process_obj) 124s ~~~~~~~~~~~~^^^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 51, in _launch 124s self.sentinel, w = forkserver.connect_to_new_process(self._fds) 124s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/forkserver.py", line 106, in connect_to_new_process 124s connection.answer_challenge( 124s ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 124s wrapped_client, self._forkserver_authkey) 124s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/connection.py", line 970, in answer_challenge 124s message = connection.recv_bytes(256) # reject large message 124s File "/usr/lib/python3.14/multiprocessing/connection.py", line 222, in recv_bytes 124s buf = self._recv_bytes(maxlength) 124s File "/usr/lib/python3.14/multiprocessing/connection.py", line 447, in _recv_bytes 124s buf = self._recv(4) 124s File "/usr/lib/python3.14/multiprocessing/connection.py", line 412, in _recv 124s chunk = read(handle, to_read) 124s ConnectionResetError: [Errno 104] Connection reset by peer 124s _____________________________ test_command_abspath _____________________________ 124s 124s source_repo = 124s dest_repo = 124s sshd = SSHServerInfo(proc=, address='127.0.0.1', port=40507) 124s ssh_options = ['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', ...] 124s cli_env_vars = {'PATH': '/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:...ild.zeh/src/debian/python3-ostree-push/usr/lib/python3.13/dist-packages:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build'} 124s receive_config_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_command_abspath0/ostree-receive.conf') 124s tmp_files_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_command_abspath0/files') 124s 124s def test_command_abspath(source_repo, dest_repo, sshd, ssh_options, 124s cli_env_vars, receive_config_path, tmp_files_path): 124s """Test push with absolute path to ostree-receive""" 124s args = ( 124s source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 124s receive_config_path 124s ) 124s random_commit(source_repo, tmp_files_path, 'test') 124s > run_push(*args, command=ostree_receive_abspath) 124s 124s tests/test_full.py:153: 124s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 124s tests/test_full.py:43: in run_push 124s return subprocess.run(cmd, **popen_kwargs) 124s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 124s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 124s 124s input = None, capture_output = False, timeout = None, check = True 124s popenargs = (['ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-0/test_command_abspath0/source-repo', '--command=/tmp/autopkgtes...xx/autopkgtest_tmp/build/tests/ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', ...],) 124s kwargs = {'env': {'ADTTMP': '/tmp/autopkgtest.hUcnxx/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.hUcnxx/pybuild-autopk...': 'python3-defaults/3.14.2-1', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.hUcnxx/pybuild-autopkgtest-artifacts', ...}} 124s process = 124s stdout = None, stderr = None, retcode = 1 124s 124s def run(*popenargs, 124s input=None, capture_output=False, timeout=None, check=False, **kwargs): 124s """Run command with arguments and return a CompletedProcess instance. 124s 124s The returned instance will have attributes args, returncode, stdout and 124s stderr. By default, stdout and stderr are not captured, and those attributes 124s will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, 124s or pass capture_output=True to capture both. 124s 124s If check is True and the exit code was non-zero, it raises a 124s CalledProcessError. The CalledProcessError object will have the return code 124s in the returncode attribute, and output & stderr attributes if those streams 124s were captured. 124s 124s If timeout (seconds) is given and the process takes too long, 124s a TimeoutExpired exception will be raised. 124s 124s There is an optional argument "input", allowing you to 124s pass bytes or a string to the subprocess's stdin. If you use this argument 124s you may not also use the Popen constructor's "stdin" argument, as 124s it will be used internally. 124s 124s By default, all communication is in bytes, and therefore any "input" should 124s be bytes, and the stdout and stderr will be bytes. If in text mode, any 124s "input" should be a string, and stdout and stderr will be strings decoded 124s according to locale encoding, or by "encoding" if set. Text mode is 124s triggered by setting any of text, encoding, errors or universal_newlines. 124s 124s The other arguments are the same as for the Popen constructor. 124s """ 124s if input is not None: 124s if kwargs.get('stdin') is not None: 124s raise ValueError('stdin and input arguments may not both be used.') 124s kwargs['stdin'] = PIPE 124s 124s if capture_output: 124s if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: 124s raise ValueError('stdout and stderr arguments may not be used ' 124s 'with capture_output.') 124s kwargs['stdout'] = PIPE 124s kwargs['stderr'] = PIPE 124s 124s with Popen(*popenargs, **kwargs) as process: 124s try: 124s stdout, stderr = process.communicate(input, timeout=timeout) 124s except TimeoutExpired as exc: 124s process.kill() 124s if _mswindows: 124s # Windows accumulates the output in a single blocking 124s # read() call run on child threads, with the timeout 124s # being done in a join() on those threads. communicate() 124s # _after_ kill() is required to collect that and add it 124s # to the exception. 124s exc.stdout, exc.stderr = process.communicate() 124s else: 124s # POSIX _communicate already populated the output so 124s # far into the TimeoutExpired exception. 124s process.wait() 124s raise 124s except: # Including KeyboardInterrupt, communicate handled that. 124s process.kill() 124s # We don't call process.wait() as .__exit__ does that for us. 124s raise 124s retcode = process.poll() 124s if check and retcode: 124s > raise CalledProcessError(retcode, process.args, 124s output=stdout, stderr=stderr) 124s E subprocess.CalledProcessError: Command '['ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-0/test_command_abspath0/source-repo', '--command=/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', '-o', 'UserKnownHostsFile=/dev/null', 'ssh://127.0.0.1:40507//tmp/pytest-of-ubuntu/pytest-0/test_command_abspath0/dest-repo']' returned non-zero exit status 1. 124s 124s /usr/lib/python3.13/subprocess.py:577: CalledProcessError 124s ----------------------------- Captured stderr call ----------------------------- 124s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build:/tmp/autopkgtest.hUcnxx/build.zeh/src/debian/python3-ostree-push/usr/lib/python3.13/dist-packages:/usr/lib/python314.zip:/usr/lib/python3.14:/usr/lib/python3.14/lib-dynload:/usr/local/lib/python3.14/dist-packages:/usr/lib/python3/dist-packages 124s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-0/test_command_abspath0/source-repo', '--command=/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', '-o', 'UserKnownHostsFile=/dev/null', 'ssh://127.0.0.1:40507//tmp/pytest-of-ubuntu/pytest-0/test_command_abspath0/dest-repo'] 124s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-0/test_command_abspath0/source-repo', commands=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-receive-1'], ssh_options=[]), '-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa' 124s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-0/test_command_abspath0/source-repo', commands=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa']), '-o', 'IdentitiesOnly=yes' 124s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-0/test_command_abspath0/source-repo', commands=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes']), '-o', 'StrictHostKeyChecking=no' 124s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-0/test_command_abspath0/source-repo', commands=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no']), '-o', 'UserKnownHostsFile=/dev/null' 124s DEBUG:otpush.push:Repo /tmp/pytest-of-ubuntu/pytest-0/test_command_abspath0/source-repo has been modified more recently than /tmp/pytest-of-ubuntu/pytest-0/test_command_abspath0/source-repo/summary, regenerating 124s INFO:otpush.push:Regenerating summary file 124s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build:/tmp/autopkgtest.hUcnxx/build.zeh/src/debian/python3-ostree-push/usr/lib/python3.13/dist-packages:/usr/lib/python314.zip:/usr/lib/python3.14:/usr/lib/python3.14/lib-dynload:/usr/local/lib/python3.14/dist-packages:/usr/lib/python3/dist-packages 124s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push'] 124s usage: ostree-push [-h] [-n] [-p PORT] [-q] [-v] [--repo REPO] 124s [--command COMMAND] [-i OPTION] [--version] 124s DEST [REF ...] 124s ostree-push: error: the following arguments are required: DEST 124s Traceback (most recent call last): 124s File "/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push", line 14, in 124s push.main() 124s ~~~~~~~~~^^ 124s File "/usr/lib/python3/dist-packages/otpush/push.py", line 574, in main 124s push_refs( 124s ~~~~~~~~~^ 124s repo, 124s ^^^^^ 124s ...<4 lines>... 124s dry_run=args.dry_run, 124s ^^^^^^^^^^^^^^^^^^^^^ 124s ) 124s ^ 124s File "/usr/lib/python3/dist-packages/otpush/push.py", line 349, in push_refs 124s with RepoServer(local_repo_path) as http_server: 124s ~~~~~~~~~~^^^^^^^^^^^^^^^^^ 124s File "/usr/lib/python3/dist-packages/otpush/push.py", line 114, in __enter__ 124s self.start() 124s ~~~~~~~~~~^^ 124s File "/usr/lib/python3/dist-packages/otpush/push.py", line 141, in start 124s self.proc.start() 124s ~~~~~~~~~~~~~~~^^ 124s File "/usr/lib/python3.14/multiprocessing/process.py", line 121, in start 124s self._popen = self._Popen(self) 124s ~~~~~~~~~~~^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/context.py", line 224, in _Popen 124s return _default_context.get_context().Process._Popen(process_obj) 124s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/context.py", line 300, in _Popen 124s return Popen(process_obj) 124s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 35, in __init__ 124s super().__init__(process_obj) 124s ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/popen_fork.py", line 20, in __init__ 124s self._launch(process_obj) 124s ~~~~~~~~~~~~^^^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 51, in _launch 124s self.sentinel, w = forkserver.connect_to_new_process(self._fds) 124s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/forkserver.py", line 106, in connect_to_new_process 124s connection.answer_challenge( 124s ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 124s wrapped_client, self._forkserver_authkey) 124s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/connection.py", line 970, in answer_challenge 124s message = connection.recv_bytes(256) # reject large message 124s File "/usr/lib/python3.14/multiprocessing/connection.py", line 222, in recv_bytes 124s buf = self._recv_bytes(maxlength) 124s File "/usr/lib/python3.14/multiprocessing/connection.py", line 447, in _recv_bytes 124s buf = self._recv(4) 124s File "/usr/lib/python3.14/multiprocessing/connection.py", line 412, in _recv 124s chunk = read(handle, to_read) 124s ConnectionResetError: [Errno 104] Connection reset by peer 124s _______________________________ test_unversioned _______________________________ 124s 124s source_repo = 124s dest_repo = 124s sshd = SSHServerInfo(proc=, address='127.0.0.1', port=40507) 124s ssh_options = ['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', ...] 124s cli_env_vars = {'PATH': '/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:...ild.zeh/src/debian/python3-ostree-push/usr/lib/python3.13/dist-packages:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build'} 124s receive_config_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_unversioned0/ostree-receive.conf') 124s tmp_files_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_unversioned0/files') 124s 124s def test_unversioned(source_repo, dest_repo, sshd, ssh_options, 124s cli_env_vars, receive_config_path, tmp_files_path): 124s """Test push with unversioned ostree-receive""" 124s args = ( 124s source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 124s receive_config_path 124s ) 124s random_commit(source_repo, tmp_files_path, 'test') 124s > run_push(*args, command='ostree-receive') 124s 124s tests/test_full.py:166: 124s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 124s tests/test_full.py:43: in run_push 124s return subprocess.run(cmd, **popen_kwargs) 124s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 124s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 124s 124s input = None, capture_output = False, timeout = None, check = True 124s popenargs = (['ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-0/test_unversioned0/source-repo', '--command=ostree-receive', '-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', ...],) 124s kwargs = {'env': {'ADTTMP': '/tmp/autopkgtest.hUcnxx/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.hUcnxx/pybuild-autopk...': 'python3-defaults/3.14.2-1', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.hUcnxx/pybuild-autopkgtest-artifacts', ...}} 124s process = 124s stdout = None, stderr = None, retcode = 1 124s 124s def run(*popenargs, 124s input=None, capture_output=False, timeout=None, check=False, **kwargs): 124s """Run command with arguments and return a CompletedProcess instance. 124s 124s The returned instance will have attributes args, returncode, stdout and 124s stderr. By default, stdout and stderr are not captured, and those attributes 124s will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, 124s or pass capture_output=True to capture both. 124s 124s If check is True and the exit code was non-zero, it raises a 124s CalledProcessError. The CalledProcessError object will have the return code 124s in the returncode attribute, and output & stderr attributes if those streams 124s were captured. 124s 124s If timeout (seconds) is given and the process takes too long, 124s a TimeoutExpired exception will be raised. 124s 124s There is an optional argument "input", allowing you to 124s pass bytes or a string to the subprocess's stdin. If you use this argument 124s you may not also use the Popen constructor's "stdin" argument, as 124s it will be used internally. 124s 124s By default, all communication is in bytes, and therefore any "input" should 124s be bytes, and the stdout and stderr will be bytes. If in text mode, any 124s "input" should be a string, and stdout and stderr will be strings decoded 124s according to locale encoding, or by "encoding" if set. Text mode is 124s triggered by setting any of text, encoding, errors or universal_newlines. 124s 124s The other arguments are the same as for the Popen constructor. 124s """ 124s if input is not None: 124s if kwargs.get('stdin') is not None: 124s raise ValueError('stdin and input arguments may not both be used.') 124s kwargs['stdin'] = PIPE 124s 124s if capture_output: 124s if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: 124s raise ValueError('stdout and stderr arguments may not be used ' 124s 'with capture_output.') 124s kwargs['stdout'] = PIPE 124s kwargs['stderr'] = PIPE 124s 124s with Popen(*popenargs, **kwargs) as process: 124s try: 124s stdout, stderr = process.communicate(input, timeout=timeout) 124s except TimeoutExpired as exc: 124s process.kill() 124s if _mswindows: 124s # Windows accumulates the output in a single blocking 124s # read() call run on child threads, with the timeout 124s # being done in a join() on those threads. communicate() 124s # _after_ kill() is required to collect that and add it 124s # to the exception. 124s exc.stdout, exc.stderr = process.communicate() 124s else: 124s # POSIX _communicate already populated the output so 124s # far into the TimeoutExpired exception. 124s process.wait() 124s raise 124s except: # Including KeyboardInterrupt, communicate handled that. 124s process.kill() 124s # We don't call process.wait() as .__exit__ does that for us. 124s raise 124s retcode = process.poll() 124s if check and retcode: 124s > raise CalledProcessError(retcode, process.args, 124s output=stdout, stderr=stderr) 124s E subprocess.CalledProcessError: Command '['ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-0/test_unversioned0/source-repo', '--command=ostree-receive', '-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', '-o', 'UserKnownHostsFile=/dev/null', 'ssh://127.0.0.1:40507//tmp/pytest-of-ubuntu/pytest-0/test_unversioned0/dest-repo']' returned non-zero exit status 1. 124s 124s /usr/lib/python3.13/subprocess.py:577: CalledProcessError 124s ----------------------------- Captured stderr call ----------------------------- 124s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build:/tmp/autopkgtest.hUcnxx/build.zeh/src/debian/python3-ostree-push/usr/lib/python3.13/dist-packages:/usr/lib/python314.zip:/usr/lib/python3.14:/usr/lib/python3.14/lib-dynload:/usr/local/lib/python3.14/dist-packages:/usr/lib/python3/dist-packages 124s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-0/test_unversioned0/source-repo', '--command=ostree-receive', '-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', '-o', 'UserKnownHostsFile=/dev/null', 'ssh://127.0.0.1:40507//tmp/pytest-of-ubuntu/pytest-0/test_unversioned0/dest-repo'] 124s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-0/test_unversioned0/source-repo', commands=['ostree-receive'], ssh_options=[]), '-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa' 124s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-0/test_unversioned0/source-repo', commands=['ostree-receive'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa']), '-o', 'IdentitiesOnly=yes' 124s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-0/test_unversioned0/source-repo', commands=['ostree-receive'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes']), '-o', 'StrictHostKeyChecking=no' 124s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-0/test_unversioned0/source-repo', commands=['ostree-receive'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no']), '-o', 'UserKnownHostsFile=/dev/null' 124s DEBUG:otpush.push:Repo /tmp/pytest-of-ubuntu/pytest-0/test_unversioned0/source-repo has been modified more recently than /tmp/pytest-of-ubuntu/pytest-0/test_unversioned0/source-repo/summary, regenerating 124s INFO:otpush.push:Regenerating summary file 124s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build:/tmp/autopkgtest.hUcnxx/build.zeh/src/debian/python3-ostree-push/usr/lib/python3.13/dist-packages:/usr/lib/python314.zip:/usr/lib/python3.14:/usr/lib/python3.14/lib-dynload:/usr/local/lib/python3.14/dist-packages:/usr/lib/python3/dist-packages 124s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push'] 124s usage: ostree-push [-h] [-n] [-p PORT] [-q] [-v] [--repo REPO] 124s [--command COMMAND] [-i OPTION] [--version] 124s DEST [REF ...] 124s ostree-push: error: the following arguments are required: DEST 124s Traceback (most recent call last): 124s File "/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push", line 14, in 124s push.main() 124s ~~~~~~~~~^^ 124s File "/usr/lib/python3/dist-packages/otpush/push.py", line 574, in main 124s push_refs( 124s ~~~~~~~~~^ 124s repo, 124s ^^^^^ 124s ...<4 lines>... 124s dry_run=args.dry_run, 124s ^^^^^^^^^^^^^^^^^^^^^ 124s ) 124s ^ 124s File "/usr/lib/python3/dist-packages/otpush/push.py", line 349, in push_refs 124s with RepoServer(local_repo_path) as http_server: 124s ~~~~~~~~~~^^^^^^^^^^^^^^^^^ 124s File "/usr/lib/python3/dist-packages/otpush/push.py", line 114, in __enter__ 124s self.start() 124s ~~~~~~~~~~^^ 124s File "/usr/lib/python3/dist-packages/otpush/push.py", line 141, in start 124s self.proc.start() 124s ~~~~~~~~~~~~~~~^^ 124s File "/usr/lib/python3.14/multiprocessing/process.py", line 121, in start 124s self._popen = self._Popen(self) 124s ~~~~~~~~~~~^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/context.py", line 224, in _Popen 124s return _default_context.get_context().Process._Popen(process_obj) 124s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/context.py", line 300, in _Popen 124s return Popen(process_obj) 124s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 35, in __init__ 124s super().__init__(process_obj) 124s ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/popen_fork.py", line 20, in __init__ 124s self._launch(process_obj) 124s ~~~~~~~~~~~~^^^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 51, in _launch 124s self.sentinel, w = forkserver.connect_to_new_process(self._fds) 124s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/forkserver.py", line 106, in connect_to_new_process 124s connection.answer_challenge( 124s ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 124s wrapped_client, self._forkserver_authkey) 124s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 124s File "/usr/lib/python3.14/multiprocessing/connection.py", line 970, in answer_challenge 124s message = connection.recv_bytes(256) # reject large message 124s File "/usr/lib/python3.14/multiprocessing/connection.py", line 222, in recv_bytes 124s buf = self._recv_bytes(maxlength) 124s File "/usr/lib/python3.14/multiprocessing/connection.py", line 447, in _recv_bytes 124s buf = self._recv(4) 124s File "/usr/lib/python3.14/multiprocessing/connection.py", line 412, in _recv 124s chunk = read(handle, to_read) 124s ConnectionResetError: [Errno 104] Connection reset by peer 124s =============================== warnings summary =============================== 124s tests/test_push.py: 10 warnings 124s tests/test_receive.py: 19 warnings 124s /usr/lib/python3.13/multiprocessing/popen_fork.py:67: DeprecationWarning: This process (pid=3108) is multi-threaded, use of fork() may lead to deadlocks in the child. 124s self.pid = os.fork() 124s 124s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 124s =========================== short test summary info ============================ 124s FAILED tests/test_full.py::test_no_commits - subprocess.CalledProcessError: C... 124s FAILED tests/test_full.py::test_basic - subprocess.CalledProcessError: Comman... 124s FAILED tests/test_full.py::test_dry_run - subprocess.CalledProcessError: Comm... 124s FAILED tests/test_full.py::test_scp_dest - subprocess.CalledProcessError: Com... 124s FAILED tests/test_full.py::test_command_abspath - subprocess.CalledProcessErr... 124s FAILED tests/test_full.py::test_unversioned - subprocess.CalledProcessError: ... 124s ============ 6 failed, 89 passed, 4 skipped, 29 warnings in 16.97s ============= 124s E: pybuild pybuild:483: test: plugin pyproject failed with: exit code=1: cd /tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build; python3.13 -m pytest tests 124s I: pybuild base:384: cd /tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build; python3.14 -m pytest tests 125s ============================= test session starts ============================== 125s platform linux -- Python 3.14.2, pytest-9.0.2, pluggy-1.6.0 125s rootdir: /tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build 125s plugins: typeguard-4.4.4 125s collected 99 items 125s 129s tests/test_full.py FFFFFF [ 6%] 139s tests/test_push.py ................................. [ 39%] 144s tests/test_receive.py ...........ss...s................................. [ 89%] 144s . [ 90%] 145s tests/test_receive_legacy.py .. [ 92%] 145s tests/test_receive_shell.py .....s [ 98%] 146s tests/test_sshd.py . [100%] 146s 146s =================================== FAILURES =================================== 146s _______________________________ test_no_commits ________________________________ 146s 146s source_repo = 146s dest_repo = 146s sshd = SSHServerInfo(proc=, address='127.0.0.1', port=34947) 146s ssh_options = ['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', ...] 146s cli_env_vars = {'PATH': '/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:...ild.zeh/src/debian/python3-ostree-push/usr/lib/python3.14/dist-packages:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build'} 146s receive_config_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-1/test_no_commits0/ostree-receive.conf') 146s capfd = <_pytest.capture.CaptureFixture object at 0xe1b8c459d940> 146s 146s def test_no_commits(source_repo, dest_repo, sshd, ssh_options, 146s cli_env_vars, receive_config_path, capfd): 146s """Test push with no commits in source repo""" 146s args = ( 146s source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 146s receive_config_path 146s ) 146s 146s > run_push(*args) 146s 146s tests/test_full.py:54: 146s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 146s tests/test_full.py:43: in run_push 146s return subprocess.run(cmd, **popen_kwargs) 146s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 146s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 146s 146s input = None, capture_output = False, timeout = None, check = True 146s popenargs = (['ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-1/test_no_commits0/source-repo', '--command=ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', ...],) 146s kwargs = {'env': {'ADTTMP': '/tmp/autopkgtest.hUcnxx/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.hUcnxx/pybuild-autopk...': 'python3-defaults/3.14.2-1', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.hUcnxx/pybuild-autopkgtest-artifacts', ...}} 146s process = 146s stdout = None, stderr = None, retcode = 1 146s 146s def run(*popenargs, 146s input=None, capture_output=False, timeout=None, check=False, **kwargs): 146s """Run command with arguments and return a CompletedProcess instance. 146s 146s The returned instance will have attributes args, returncode, stdout and 146s stderr. By default, stdout and stderr are not captured, and those attributes 146s will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, 146s or pass capture_output=True to capture both. 146s 146s If check is True and the exit code was non-zero, it raises a 146s CalledProcessError. The CalledProcessError object will have the return code 146s in the returncode attribute, and output & stderr attributes if those streams 146s were captured. 146s 146s If timeout (seconds) is given and the process takes too long, 146s a TimeoutExpired exception will be raised. 146s 146s There is an optional argument "input", allowing you to 146s pass bytes or a string to the subprocess's stdin. If you use this argument 146s you may not also use the Popen constructor's "stdin" argument, as 146s it will be used internally. 146s 146s By default, all communication is in bytes, and therefore any "input" should 146s be bytes, and the stdout and stderr will be bytes. If in text mode, any 146s "input" should be a string, and stdout and stderr will be strings decoded 146s according to locale encoding, or by "encoding" if set. Text mode is 146s triggered by setting any of text, encoding, errors or universal_newlines. 146s 146s The other arguments are the same as for the Popen constructor. 146s """ 146s if input is not None: 146s if kwargs.get('stdin') is not None: 146s raise ValueError('stdin and input arguments may not both be used.') 146s kwargs['stdin'] = PIPE 146s 146s if capture_output: 146s if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: 146s raise ValueError('stdout and stderr arguments may not be used ' 146s 'with capture_output.') 146s kwargs['stdout'] = PIPE 146s kwargs['stderr'] = PIPE 146s 146s with Popen(*popenargs, **kwargs) as process: 146s try: 146s stdout, stderr = process.communicate(input, timeout=timeout) 146s except TimeoutExpired as exc: 146s process.kill() 146s if _mswindows: 146s # Windows accumulates the output in a single blocking 146s # read() call run on child threads, with the timeout 146s # being done in a join() on those threads. communicate() 146s # _after_ kill() is required to collect that and add it 146s # to the exception. 146s exc.stdout, exc.stderr = process.communicate() 146s else: 146s # POSIX _communicate already populated the output so 146s # far into the TimeoutExpired exception. 146s process.wait() 146s raise 146s except: # Including KeyboardInterrupt, communicate handled that. 146s process.kill() 146s # We don't call process.wait() as .__exit__ does that for us. 146s raise 146s retcode = process.poll() 146s if check and retcode: 146s > raise CalledProcessError(retcode, process.args, 146s output=stdout, stderr=stderr) 146s E subprocess.CalledProcessError: Command '['ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-1/test_no_commits0/source-repo', '--command=ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', '-o', 'UserKnownHostsFile=/dev/null', 'ssh://127.0.0.1:34947//tmp/pytest-of-ubuntu/pytest-1/test_no_commits0/dest-repo']' returned non-zero exit status 1. 146s 146s /usr/lib/python3.14/subprocess.py:577: CalledProcessError 146s ---------------------------- Captured stderr setup ----------------------------- 146s Server listening on 127.0.0.1 port 34947. 146s Connection closed by 127.0.0.1 port 59056 146s ----------------------------- Captured stderr call ----------------------------- 146s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build:/tmp/autopkgtest.hUcnxx/build.zeh/src/debian/python3-ostree-push/usr/lib/python3.14/dist-packages:/usr/lib/python314.zip:/usr/lib/python3.14:/usr/lib/python3.14/lib-dynload:/usr/local/lib/python3.14/dist-packages:/usr/lib/python3/dist-packages 146s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-1/test_no_commits0/source-repo', '--command=ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', '-o', 'UserKnownHostsFile=/dev/null', 'ssh://127.0.0.1:34947//tmp/pytest-of-ubuntu/pytest-1/test_no_commits0/dest-repo'] 146s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-1/test_no_commits0/source-repo', commands=['ostree-receive-1'], ssh_options=[]), '-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa' 146s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-1/test_no_commits0/source-repo', commands=['ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa']), '-o', 'IdentitiesOnly=yes' 146s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-1/test_no_commits0/source-repo', commands=['ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes']), '-o', 'StrictHostKeyChecking=no' 146s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-1/test_no_commits0/source-repo', commands=['ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no']), '-o', 'UserKnownHostsFile=/dev/null' 146s DEBUG:otpush.push:/tmp/pytest-of-ubuntu/pytest-1/test_no_commits0/source-repo/summary does not exist, regenerating 146s INFO:otpush.push:Regenerating summary file 146s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build:/tmp/autopkgtest.hUcnxx/build.zeh/src/debian/python3-ostree-push/usr/lib/python3.14/dist-packages:/usr/lib/python314.zip:/usr/lib/python3.14:/usr/lib/python3.14/lib-dynload:/usr/local/lib/python3.14/dist-packages:/usr/lib/python3/dist-packages 146s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push'] 146s usage: ostree-push [-h] [-n] [-p PORT] [-q] [-v] [--repo REPO] 146s [--command COMMAND] [-i OPTION] [--version] 146s DEST [REF ...] 146s ostree-push: error: the following arguments are required: DEST 146s Traceback (most recent call last): 146s File "/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push", line 14, in 146s push.main() 146s ~~~~~~~~~^^ 146s File "/usr/lib/python3/dist-packages/otpush/push.py", line 574, in main 146s push_refs( 146s ~~~~~~~~~^ 146s repo, 146s ^^^^^ 146s ...<4 lines>... 146s dry_run=args.dry_run, 146s ^^^^^^^^^^^^^^^^^^^^^ 146s ) 146s ^ 146s File "/usr/lib/python3/dist-packages/otpush/push.py", line 349, in push_refs 146s with RepoServer(local_repo_path) as http_server: 146s ~~~~~~~~~~^^^^^^^^^^^^^^^^^ 146s File "/usr/lib/python3/dist-packages/otpush/push.py", line 114, in __enter__ 146s self.start() 146s ~~~~~~~~~~^^ 146s File "/usr/lib/python3/dist-packages/otpush/push.py", line 141, in start 146s self.proc.start() 146s ~~~~~~~~~~~~~~~^^ 146s File "/usr/lib/python3.14/multiprocessing/process.py", line 121, in start 146s self._popen = self._Popen(self) 146s ~~~~~~~~~~~^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/context.py", line 224, in _Popen 146s return _default_context.get_context().Process._Popen(process_obj) 146s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/context.py", line 300, in _Popen 146s return Popen(process_obj) 146s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 35, in __init__ 146s super().__init__(process_obj) 146s ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/popen_fork.py", line 20, in __init__ 146s self._launch(process_obj) 146s ~~~~~~~~~~~~^^^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 51, in _launch 146s self.sentinel, w = forkserver.connect_to_new_process(self._fds) 146s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/forkserver.py", line 106, in connect_to_new_process 146s connection.answer_challenge( 146s ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 146s wrapped_client, self._forkserver_authkey) 146s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/connection.py", line 970, in answer_challenge 146s message = connection.recv_bytes(256) # reject large message 146s File "/usr/lib/python3.14/multiprocessing/connection.py", line 222, in recv_bytes 146s buf = self._recv_bytes(maxlength) 146s File "/usr/lib/python3.14/multiprocessing/connection.py", line 447, in _recv_bytes 146s buf = self._recv(4) 146s File "/usr/lib/python3.14/multiprocessing/connection.py", line 412, in _recv 146s chunk = read(handle, to_read) 146s ConnectionResetError: [Errno 104] Connection reset by peer 146s __________________________________ test_basic __________________________________ 146s 146s source_repo = 146s dest_repo = 146s sshd = SSHServerInfo(proc=, address='127.0.0.1', port=34947) 146s ssh_options = ['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', ...] 146s cli_env_vars = {'PATH': '/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:...ild.zeh/src/debian/python3-ostree-push/usr/lib/python3.14/dist-packages:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build'} 146s receive_config_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-1/test_basic0/ostree-receive.conf') 146s tmp_files_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-1/test_basic0/files') 146s capfd = <_pytest.capture.CaptureFixture object at 0xe1b8c5f94190> 146s 146s def test_basic(source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 146s receive_config_path, tmp_files_path, capfd): 146s """Test push with one commit in source repo""" 146s args = ( 146s source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 146s receive_config_path 146s ) 146s 146s rev = random_commit(source_repo, tmp_files_path, 'test') 146s source_content = get_content_checksum(source_repo, rev) 146s 146s wipe_repo(dest_repo) 146s > run_push(*args) 146s 146s tests/test_full.py:79: 146s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 146s tests/test_full.py:43: in run_push 146s return subprocess.run(cmd, **popen_kwargs) 146s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 146s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 146s 146s input = None, capture_output = False, timeout = None, check = True 146s popenargs = (['ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-1/test_basic0/source-repo', '--command=ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', ...],) 146s kwargs = {'env': {'ADTTMP': '/tmp/autopkgtest.hUcnxx/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.hUcnxx/pybuild-autopk...': 'python3-defaults/3.14.2-1', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.hUcnxx/pybuild-autopkgtest-artifacts', ...}} 146s process = 146s stdout = None, stderr = None, retcode = 1 146s 146s def run(*popenargs, 146s input=None, capture_output=False, timeout=None, check=False, **kwargs): 146s """Run command with arguments and return a CompletedProcess instance. 146s 146s The returned instance will have attributes args, returncode, stdout and 146s stderr. By default, stdout and stderr are not captured, and those attributes 146s will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, 146s or pass capture_output=True to capture both. 146s 146s If check is True and the exit code was non-zero, it raises a 146s CalledProcessError. The CalledProcessError object will have the return code 146s in the returncode attribute, and output & stderr attributes if those streams 146s were captured. 146s 146s If timeout (seconds) is given and the process takes too long, 146s a TimeoutExpired exception will be raised. 146s 146s There is an optional argument "input", allowing you to 146s pass bytes or a string to the subprocess's stdin. If you use this argument 146s you may not also use the Popen constructor's "stdin" argument, as 146s it will be used internally. 146s 146s By default, all communication is in bytes, and therefore any "input" should 146s be bytes, and the stdout and stderr will be bytes. If in text mode, any 146s "input" should be a string, and stdout and stderr will be strings decoded 146s according to locale encoding, or by "encoding" if set. Text mode is 146s triggered by setting any of text, encoding, errors or universal_newlines. 146s 146s The other arguments are the same as for the Popen constructor. 146s """ 146s if input is not None: 146s if kwargs.get('stdin') is not None: 146s raise ValueError('stdin and input arguments may not both be used.') 146s kwargs['stdin'] = PIPE 146s 146s if capture_output: 146s if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: 146s raise ValueError('stdout and stderr arguments may not be used ' 146s 'with capture_output.') 146s kwargs['stdout'] = PIPE 146s kwargs['stderr'] = PIPE 146s 146s with Popen(*popenargs, **kwargs) as process: 146s try: 146s stdout, stderr = process.communicate(input, timeout=timeout) 146s except TimeoutExpired as exc: 146s process.kill() 146s if _mswindows: 146s # Windows accumulates the output in a single blocking 146s # read() call run on child threads, with the timeout 146s # being done in a join() on those threads. communicate() 146s # _after_ kill() is required to collect that and add it 146s # to the exception. 146s exc.stdout, exc.stderr = process.communicate() 146s else: 146s # POSIX _communicate already populated the output so 146s # far into the TimeoutExpired exception. 146s process.wait() 146s raise 146s except: # Including KeyboardInterrupt, communicate handled that. 146s process.kill() 146s # We don't call process.wait() as .__exit__ does that for us. 146s raise 146s retcode = process.poll() 146s if check and retcode: 146s > raise CalledProcessError(retcode, process.args, 146s output=stdout, stderr=stderr) 146s E subprocess.CalledProcessError: Command '['ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-1/test_basic0/source-repo', '--command=ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', '-o', 'UserKnownHostsFile=/dev/null', 'ssh://127.0.0.1:34947//tmp/pytest-of-ubuntu/pytest-1/test_basic0/dest-repo']' returned non-zero exit status 1. 146s 146s /usr/lib/python3.14/subprocess.py:577: CalledProcessError 146s ----------------------------- Captured stderr call ----------------------------- 146s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build:/tmp/autopkgtest.hUcnxx/build.zeh/src/debian/python3-ostree-push/usr/lib/python3.14/dist-packages:/usr/lib/python314.zip:/usr/lib/python3.14:/usr/lib/python3.14/lib-dynload:/usr/local/lib/python3.14/dist-packages:/usr/lib/python3/dist-packages 146s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-1/test_basic0/source-repo', '--command=ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', '-o', 'UserKnownHostsFile=/dev/null', 'ssh://127.0.0.1:34947//tmp/pytest-of-ubuntu/pytest-1/test_basic0/dest-repo'] 146s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-1/test_basic0/source-repo', commands=['ostree-receive-1'], ssh_options=[]), '-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa' 146s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-1/test_basic0/source-repo', commands=['ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa']), '-o', 'IdentitiesOnly=yes' 146s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-1/test_basic0/source-repo', commands=['ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes']), '-o', 'StrictHostKeyChecking=no' 146s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-1/test_basic0/source-repo', commands=['ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no']), '-o', 'UserKnownHostsFile=/dev/null' 146s DEBUG:otpush.push:Repo /tmp/pytest-of-ubuntu/pytest-1/test_basic0/source-repo has been modified more recently than /tmp/pytest-of-ubuntu/pytest-1/test_basic0/source-repo/summary, regenerating 146s INFO:otpush.push:Regenerating summary file 146s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build:/tmp/autopkgtest.hUcnxx/build.zeh/src/debian/python3-ostree-push/usr/lib/python3.14/dist-packages:/usr/lib/python314.zip:/usr/lib/python3.14:/usr/lib/python3.14/lib-dynload:/usr/local/lib/python3.14/dist-packages:/usr/lib/python3/dist-packages 146s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push'] 146s usage: ostree-push [-h] [-n] [-p PORT] [-q] [-v] [--repo REPO] 146s [--command COMMAND] [-i OPTION] [--version] 146s DEST [REF ...] 146s ostree-push: error: the following arguments are required: DEST 146s Traceback (most recent call last): 146s File "/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push", line 14, in 146s push.main() 146s ~~~~~~~~~^^ 146s File "/usr/lib/python3/dist-packages/otpush/push.py", line 574, in main 146s push_refs( 146s ~~~~~~~~~^ 146s repo, 146s ^^^^^ 146s ...<4 lines>... 146s dry_run=args.dry_run, 146s ^^^^^^^^^^^^^^^^^^^^^ 146s ) 146s ^ 146s File "/usr/lib/python3/dist-packages/otpush/push.py", line 349, in push_refs 146s with RepoServer(local_repo_path) as http_server: 146s ~~~~~~~~~~^^^^^^^^^^^^^^^^^ 146s File "/usr/lib/python3/dist-packages/otpush/push.py", line 114, in __enter__ 146s self.start() 146s ~~~~~~~~~~^^ 146s File "/usr/lib/python3/dist-packages/otpush/push.py", line 141, in start 146s self.proc.start() 146s ~~~~~~~~~~~~~~~^^ 146s File "/usr/lib/python3.14/multiprocessing/process.py", line 121, in start 146s self._popen = self._Popen(self) 146s ~~~~~~~~~~~^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/context.py", line 224, in _Popen 146s return _default_context.get_context().Process._Popen(process_obj) 146s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/context.py", line 300, in _Popen 146s return Popen(process_obj) 146s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 35, in __init__ 146s super().__init__(process_obj) 146s ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/popen_fork.py", line 20, in __init__ 146s self._launch(process_obj) 146s ~~~~~~~~~~~~^^^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 51, in _launch 146s self.sentinel, w = forkserver.connect_to_new_process(self._fds) 146s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/forkserver.py", line 106, in connect_to_new_process 146s connection.answer_challenge( 146s ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 146s wrapped_client, self._forkserver_authkey) 146s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/connection.py", line 970, in answer_challenge 146s message = connection.recv_bytes(256) # reject large message 146s File "/usr/lib/python3.14/multiprocessing/connection.py", line 222, in recv_bytes 146s buf = self._recv_bytes(maxlength) 146s File "/usr/lib/python3.14/multiprocessing/connection.py", line 447, in _recv_bytes 146s buf = self._recv(4) 146s File "/usr/lib/python3.14/multiprocessing/connection.py", line 412, in _recv 146s chunk = read(handle, to_read) 146s ConnectionResetError: [Errno 104] Connection reset by peer 146s _________________________________ test_dry_run _________________________________ 146s 146s source_repo = 146s dest_repo = 146s sshd = SSHServerInfo(proc=, address='127.0.0.1', port=34947) 146s ssh_options = ['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', ...] 146s cli_env_vars = {'PATH': '/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:...ild.zeh/src/debian/python3-ostree-push/usr/lib/python3.14/dist-packages:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build'} 146s receive_config_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-1/test_dry_run0/ostree-receive.conf') 146s tmp_files_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-1/test_dry_run0/files') 146s 146s def test_dry_run(source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 146s receive_config_path, tmp_files_path): 146s """Test push dry run""" 146s args = ( 146s source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 146s receive_config_path 146s ) 146s 146s random_commit(source_repo, tmp_files_path, 'test') 146s 146s wipe_repo(dest_repo) 146s > run_push(*args, options=['-n']) 146s 146s tests/test_full.py:114: 146s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 146s tests/test_full.py:43: in run_push 146s return subprocess.run(cmd, **popen_kwargs) 146s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 146s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 146s 146s input = None, capture_output = False, timeout = None, check = True 146s popenargs = (['ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-1/test_dry_run0/source-repo', '--command=ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', ...],) 146s kwargs = {'env': {'ADTTMP': '/tmp/autopkgtest.hUcnxx/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.hUcnxx/pybuild-autopk...': 'python3-defaults/3.14.2-1', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.hUcnxx/pybuild-autopkgtest-artifacts', ...}} 146s process = 146s stdout = None, stderr = None, retcode = 1 146s 146s def run(*popenargs, 146s input=None, capture_output=False, timeout=None, check=False, **kwargs): 146s """Run command with arguments and return a CompletedProcess instance. 146s 146s The returned instance will have attributes args, returncode, stdout and 146s stderr. By default, stdout and stderr are not captured, and those attributes 146s will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, 146s or pass capture_output=True to capture both. 146s 146s If check is True and the exit code was non-zero, it raises a 146s CalledProcessError. The CalledProcessError object will have the return code 146s in the returncode attribute, and output & stderr attributes if those streams 146s were captured. 146s 146s If timeout (seconds) is given and the process takes too long, 146s a TimeoutExpired exception will be raised. 146s 146s There is an optional argument "input", allowing you to 146s pass bytes or a string to the subprocess's stdin. If you use this argument 146s you may not also use the Popen constructor's "stdin" argument, as 146s it will be used internally. 146s 146s By default, all communication is in bytes, and therefore any "input" should 146s be bytes, and the stdout and stderr will be bytes. If in text mode, any 146s "input" should be a string, and stdout and stderr will be strings decoded 146s according to locale encoding, or by "encoding" if set. Text mode is 146s triggered by setting any of text, encoding, errors or universal_newlines. 146s 146s The other arguments are the same as for the Popen constructor. 146s """ 146s if input is not None: 146s if kwargs.get('stdin') is not None: 146s raise ValueError('stdin and input arguments may not both be used.') 146s kwargs['stdin'] = PIPE 146s 146s if capture_output: 146s if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: 146s raise ValueError('stdout and stderr arguments may not be used ' 146s 'with capture_output.') 146s kwargs['stdout'] = PIPE 146s kwargs['stderr'] = PIPE 146s 146s with Popen(*popenargs, **kwargs) as process: 146s try: 146s stdout, stderr = process.communicate(input, timeout=timeout) 146s except TimeoutExpired as exc: 146s process.kill() 146s if _mswindows: 146s # Windows accumulates the output in a single blocking 146s # read() call run on child threads, with the timeout 146s # being done in a join() on those threads. communicate() 146s # _after_ kill() is required to collect that and add it 146s # to the exception. 146s exc.stdout, exc.stderr = process.communicate() 146s else: 146s # POSIX _communicate already populated the output so 146s # far into the TimeoutExpired exception. 146s process.wait() 146s raise 146s except: # Including KeyboardInterrupt, communicate handled that. 146s process.kill() 146s # We don't call process.wait() as .__exit__ does that for us. 146s raise 146s retcode = process.poll() 146s if check and retcode: 146s > raise CalledProcessError(retcode, process.args, 146s output=stdout, stderr=stderr) 146s E subprocess.CalledProcessError: Command '['ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-1/test_dry_run0/source-repo', '--command=ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', '-o', 'UserKnownHostsFile=/dev/null', '-n', 'ssh://127.0.0.1:34947//tmp/pytest-of-ubuntu/pytest-1/test_dry_run0/dest-repo']' returned non-zero exit status 1. 146s 146s /usr/lib/python3.14/subprocess.py:577: CalledProcessError 146s ----------------------------- Captured stderr call ----------------------------- 146s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build:/tmp/autopkgtest.hUcnxx/build.zeh/src/debian/python3-ostree-push/usr/lib/python3.14/dist-packages:/usr/lib/python314.zip:/usr/lib/python3.14:/usr/lib/python3.14/lib-dynload:/usr/local/lib/python3.14/dist-packages:/usr/lib/python3/dist-packages 146s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-1/test_dry_run0/source-repo', '--command=ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', '-o', 'UserKnownHostsFile=/dev/null', '-n', 'ssh://127.0.0.1:34947//tmp/pytest-of-ubuntu/pytest-1/test_dry_run0/dest-repo'] 146s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-1/test_dry_run0/source-repo', commands=['ostree-receive-1'], ssh_options=[]), '-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa' 146s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-1/test_dry_run0/source-repo', commands=['ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa']), '-o', 'IdentitiesOnly=yes' 146s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-1/test_dry_run0/source-repo', commands=['ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes']), '-o', 'StrictHostKeyChecking=no' 146s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-1/test_dry_run0/source-repo', commands=['ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no']), '-o', 'UserKnownHostsFile=/dev/null' 146s DEBUG:otpush.push:Repo /tmp/pytest-of-ubuntu/pytest-1/test_dry_run0/source-repo has been modified more recently than /tmp/pytest-of-ubuntu/pytest-1/test_dry_run0/source-repo/summary, regenerating 146s INFO:otpush.push:Regenerating summary file 146s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build:/tmp/autopkgtest.hUcnxx/build.zeh/src/debian/python3-ostree-push/usr/lib/python3.14/dist-packages:/usr/lib/python314.zip:/usr/lib/python3.14:/usr/lib/python3.14/lib-dynload:/usr/local/lib/python3.14/dist-packages:/usr/lib/python3/dist-packages 146s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push'] 146s usage: ostree-push [-h] [-n] [-p PORT] [-q] [-v] [--repo REPO] 146s [--command COMMAND] [-i OPTION] [--version] 146s DEST [REF ...] 146s ostree-push: error: the following arguments are required: DEST 146s Traceback (most recent call last): 146s File "/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push", line 14, in 146s push.main() 146s ~~~~~~~~~^^ 146s File "/usr/lib/python3/dist-packages/otpush/push.py", line 574, in main 146s push_refs( 146s ~~~~~~~~~^ 146s repo, 146s ^^^^^ 146s ...<4 lines>... 146s dry_run=args.dry_run, 146s ^^^^^^^^^^^^^^^^^^^^^ 146s ) 146s ^ 146s File "/usr/lib/python3/dist-packages/otpush/push.py", line 349, in push_refs 146s with RepoServer(local_repo_path) as http_server: 146s ~~~~~~~~~~^^^^^^^^^^^^^^^^^ 146s File "/usr/lib/python3/dist-packages/otpush/push.py", line 114, in __enter__ 146s self.start() 146s ~~~~~~~~~~^^ 146s File "/usr/lib/python3/dist-packages/otpush/push.py", line 141, in start 146s self.proc.start() 146s ~~~~~~~~~~~~~~~^^ 146s File "/usr/lib/python3.14/multiprocessing/process.py", line 121, in start 146s self._popen = self._Popen(self) 146s ~~~~~~~~~~~^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/context.py", line 224, in _Popen 146s return _default_context.get_context().Process._Popen(process_obj) 146s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/context.py", line 300, in _Popen 146s return Popen(process_obj) 146s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 35, in __init__ 146s super().__init__(process_obj) 146s ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/popen_fork.py", line 20, in __init__ 146s self._launch(process_obj) 146s ~~~~~~~~~~~~^^^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 51, in _launch 146s self.sentinel, w = forkserver.connect_to_new_process(self._fds) 146s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/forkserver.py", line 106, in connect_to_new_process 146s connection.answer_challenge( 146s ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 146s wrapped_client, self._forkserver_authkey) 146s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/connection.py", line 970, in answer_challenge 146s message = connection.recv_bytes(256) # reject large message 146s File "/usr/lib/python3.14/multiprocessing/connection.py", line 222, in recv_bytes 146s buf = self._recv_bytes(maxlength) 146s File "/usr/lib/python3.14/multiprocessing/connection.py", line 447, in _recv_bytes 146s buf = self._recv(4) 146s File "/usr/lib/python3.14/multiprocessing/connection.py", line 412, in _recv 146s chunk = read(handle, to_read) 146s ConnectionResetError: [Errno 104] Connection reset by peer 146s ________________________________ test_scp_dest _________________________________ 146s 146s source_repo = 146s dest_repo = 146s sshd = SSHServerInfo(proc=, address='127.0.0.1', port=34947) 146s ssh_options = ['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', ...] 146s cli_env_vars = {'PATH': '/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:...ild.zeh/src/debian/python3-ostree-push/usr/lib/python3.14/dist-packages:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build'} 146s receive_config_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-1/test_scp_dest0/ostree-receive.conf') 146s tmp_files_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-1/test_scp_dest0/files') 146s 146s def test_scp_dest(source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 146s receive_config_path, tmp_files_path): 146s """Test push with scp style destination""" 146s args = ( 146s source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 146s receive_config_path 146s ) 146s dest = f'{sshd.address}:{dest_repo.path}' 146s options = ['-p', str(sshd.port)] 146s 146s random_commit(source_repo, tmp_files_path, 'test') 146s > run_push(*args, dest=dest, options=options) 146s 146s tests/test_full.py:140: 146s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 146s tests/test_full.py:43: in run_push 146s return subprocess.run(cmd, **popen_kwargs) 146s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 146s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 146s 146s input = None, capture_output = False, timeout = None, check = True 146s popenargs = (['ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-1/test_scp_dest0/source-repo', '--command=ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', ...],) 146s kwargs = {'env': {'ADTTMP': '/tmp/autopkgtest.hUcnxx/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.hUcnxx/pybuild-autopk...': 'python3-defaults/3.14.2-1', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.hUcnxx/pybuild-autopkgtest-artifacts', ...}} 146s process = 146s stdout = None, stderr = None, retcode = 1 146s 146s def run(*popenargs, 146s input=None, capture_output=False, timeout=None, check=False, **kwargs): 146s """Run command with arguments and return a CompletedProcess instance. 146s 146s The returned instance will have attributes args, returncode, stdout and 146s stderr. By default, stdout and stderr are not captured, and those attributes 146s will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, 146s or pass capture_output=True to capture both. 146s 146s If check is True and the exit code was non-zero, it raises a 146s CalledProcessError. The CalledProcessError object will have the return code 146s in the returncode attribute, and output & stderr attributes if those streams 146s were captured. 146s 146s If timeout (seconds) is given and the process takes too long, 146s a TimeoutExpired exception will be raised. 146s 146s There is an optional argument "input", allowing you to 146s pass bytes or a string to the subprocess's stdin. If you use this argument 146s you may not also use the Popen constructor's "stdin" argument, as 146s it will be used internally. 146s 146s By default, all communication is in bytes, and therefore any "input" should 146s be bytes, and the stdout and stderr will be bytes. If in text mode, any 146s "input" should be a string, and stdout and stderr will be strings decoded 146s according to locale encoding, or by "encoding" if set. Text mode is 146s triggered by setting any of text, encoding, errors or universal_newlines. 146s 146s The other arguments are the same as for the Popen constructor. 146s """ 146s if input is not None: 146s if kwargs.get('stdin') is not None: 146s raise ValueError('stdin and input arguments may not both be used.') 146s kwargs['stdin'] = PIPE 146s 146s if capture_output: 146s if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: 146s raise ValueError('stdout and stderr arguments may not be used ' 146s 'with capture_output.') 146s kwargs['stdout'] = PIPE 146s kwargs['stderr'] = PIPE 146s 146s with Popen(*popenargs, **kwargs) as process: 146s try: 146s stdout, stderr = process.communicate(input, timeout=timeout) 146s except TimeoutExpired as exc: 146s process.kill() 146s if _mswindows: 146s # Windows accumulates the output in a single blocking 146s # read() call run on child threads, with the timeout 146s # being done in a join() on those threads. communicate() 146s # _after_ kill() is required to collect that and add it 146s # to the exception. 146s exc.stdout, exc.stderr = process.communicate() 146s else: 146s # POSIX _communicate already populated the output so 146s # far into the TimeoutExpired exception. 146s process.wait() 146s raise 146s except: # Including KeyboardInterrupt, communicate handled that. 146s process.kill() 146s # We don't call process.wait() as .__exit__ does that for us. 146s raise 146s retcode = process.poll() 146s if check and retcode: 146s > raise CalledProcessError(retcode, process.args, 146s output=stdout, stderr=stderr) 146s E subprocess.CalledProcessError: Command '['ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-1/test_scp_dest0/source-repo', '--command=ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', '-o', 'UserKnownHostsFile=/dev/null', '-p', '34947', '127.0.0.1:/tmp/pytest-of-ubuntu/pytest-1/test_scp_dest0/dest-repo']' returned non-zero exit status 1. 146s 146s /usr/lib/python3.14/subprocess.py:577: CalledProcessError 146s ----------------------------- Captured stderr call ----------------------------- 146s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build:/tmp/autopkgtest.hUcnxx/build.zeh/src/debian/python3-ostree-push/usr/lib/python3.14/dist-packages:/usr/lib/python314.zip:/usr/lib/python3.14:/usr/lib/python3.14/lib-dynload:/usr/local/lib/python3.14/dist-packages:/usr/lib/python3/dist-packages 146s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-1/test_scp_dest0/source-repo', '--command=ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', '-o', 'UserKnownHostsFile=/dev/null', '-p', '34947', '127.0.0.1:/tmp/pytest-of-ubuntu/pytest-1/test_scp_dest0/dest-repo'] 146s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-1/test_scp_dest0/source-repo', commands=['ostree-receive-1'], ssh_options=[]), '-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa' 146s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-1/test_scp_dest0/source-repo', commands=['ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa']), '-o', 'IdentitiesOnly=yes' 146s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-1/test_scp_dest0/source-repo', commands=['ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes']), '-o', 'StrictHostKeyChecking=no' 146s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-1/test_scp_dest0/source-repo', commands=['ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no']), '-o', 'UserKnownHostsFile=/dev/null' 146s DEBUG:otpush.push:Repo /tmp/pytest-of-ubuntu/pytest-1/test_scp_dest0/source-repo has been modified more recently than /tmp/pytest-of-ubuntu/pytest-1/test_scp_dest0/source-repo/summary, regenerating 146s INFO:otpush.push:Regenerating summary file 146s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build:/tmp/autopkgtest.hUcnxx/build.zeh/src/debian/python3-ostree-push/usr/lib/python3.14/dist-packages:/usr/lib/python314.zip:/usr/lib/python3.14:/usr/lib/python3.14/lib-dynload:/usr/local/lib/python3.14/dist-packages:/usr/lib/python3/dist-packages 146s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push'] 146s usage: ostree-push [-h] [-n] [-p PORT] [-q] [-v] [--repo REPO] 146s [--command COMMAND] [-i OPTION] [--version] 146s DEST [REF ...] 146s ostree-push: error: the following arguments are required: DEST 146s Traceback (most recent call last): 146s File "/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push", line 14, in 146s push.main() 146s ~~~~~~~~~^^ 146s File "/usr/lib/python3/dist-packages/otpush/push.py", line 574, in main 146s push_refs( 146s ~~~~~~~~~^ 146s repo, 146s ^^^^^ 146s ...<4 lines>... 146s dry_run=args.dry_run, 146s ^^^^^^^^^^^^^^^^^^^^^ 146s ) 146s ^ 146s File "/usr/lib/python3/dist-packages/otpush/push.py", line 349, in push_refs 146s with RepoServer(local_repo_path) as http_server: 146s ~~~~~~~~~~^^^^^^^^^^^^^^^^^ 146s File "/usr/lib/python3/dist-packages/otpush/push.py", line 114, in __enter__ 146s self.start() 146s ~~~~~~~~~~^^ 146s File "/usr/lib/python3/dist-packages/otpush/push.py", line 141, in start 146s self.proc.start() 146s ~~~~~~~~~~~~~~~^^ 146s File "/usr/lib/python3.14/multiprocessing/process.py", line 121, in start 146s self._popen = self._Popen(self) 146s ~~~~~~~~~~~^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/context.py", line 224, in _Popen 146s return _default_context.get_context().Process._Popen(process_obj) 146s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/context.py", line 300, in _Popen 146s return Popen(process_obj) 146s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 35, in __init__ 146s super().__init__(process_obj) 146s ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/popen_fork.py", line 20, in __init__ 146s self._launch(process_obj) 146s ~~~~~~~~~~~~^^^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 51, in _launch 146s self.sentinel, w = forkserver.connect_to_new_process(self._fds) 146s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/forkserver.py", line 106, in connect_to_new_process 146s connection.answer_challenge( 146s ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 146s wrapped_client, self._forkserver_authkey) 146s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/connection.py", line 970, in answer_challenge 146s message = connection.recv_bytes(256) # reject large message 146s File "/usr/lib/python3.14/multiprocessing/connection.py", line 222, in recv_bytes 146s buf = self._recv_bytes(maxlength) 146s File "/usr/lib/python3.14/multiprocessing/connection.py", line 447, in _recv_bytes 146s buf = self._recv(4) 146s File "/usr/lib/python3.14/multiprocessing/connection.py", line 412, in _recv 146s chunk = read(handle, to_read) 146s ConnectionResetError: [Errno 104] Connection reset by peer 146s _____________________________ test_command_abspath _____________________________ 146s 146s source_repo = 146s dest_repo = 146s sshd = SSHServerInfo(proc=, address='127.0.0.1', port=34947) 146s ssh_options = ['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', ...] 146s cli_env_vars = {'PATH': '/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:...ild.zeh/src/debian/python3-ostree-push/usr/lib/python3.14/dist-packages:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build'} 146s receive_config_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-1/test_command_abspath0/ostree-receive.conf') 146s tmp_files_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-1/test_command_abspath0/files') 146s 146s def test_command_abspath(source_repo, dest_repo, sshd, ssh_options, 146s cli_env_vars, receive_config_path, tmp_files_path): 146s """Test push with absolute path to ostree-receive""" 146s args = ( 146s source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 146s receive_config_path 146s ) 146s random_commit(source_repo, tmp_files_path, 'test') 146s > run_push(*args, command=ostree_receive_abspath) 146s 146s tests/test_full.py:153: 146s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 146s tests/test_full.py:43: in run_push 146s return subprocess.run(cmd, **popen_kwargs) 146s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 146s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 146s 146s input = None, capture_output = False, timeout = None, check = True 146s popenargs = (['ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-1/test_command_abspath0/source-repo', '--command=/tmp/autopkgtes...xx/autopkgtest_tmp/build/tests/ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', ...],) 146s kwargs = {'env': {'ADTTMP': '/tmp/autopkgtest.hUcnxx/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.hUcnxx/pybuild-autopk...': 'python3-defaults/3.14.2-1', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.hUcnxx/pybuild-autopkgtest-artifacts', ...}} 146s process = 146s stdout = None, stderr = None, retcode = 1 146s 146s def run(*popenargs, 146s input=None, capture_output=False, timeout=None, check=False, **kwargs): 146s """Run command with arguments and return a CompletedProcess instance. 146s 146s The returned instance will have attributes args, returncode, stdout and 146s stderr. By default, stdout and stderr are not captured, and those attributes 146s will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, 146s or pass capture_output=True to capture both. 146s 146s If check is True and the exit code was non-zero, it raises a 146s CalledProcessError. The CalledProcessError object will have the return code 146s in the returncode attribute, and output & stderr attributes if those streams 146s were captured. 146s 146s If timeout (seconds) is given and the process takes too long, 146s a TimeoutExpired exception will be raised. 146s 146s There is an optional argument "input", allowing you to 146s pass bytes or a string to the subprocess's stdin. If you use this argument 146s you may not also use the Popen constructor's "stdin" argument, as 146s it will be used internally. 146s 146s By default, all communication is in bytes, and therefore any "input" should 146s be bytes, and the stdout and stderr will be bytes. If in text mode, any 146s "input" should be a string, and stdout and stderr will be strings decoded 146s according to locale encoding, or by "encoding" if set. Text mode is 146s triggered by setting any of text, encoding, errors or universal_newlines. 146s 146s The other arguments are the same as for the Popen constructor. 146s """ 146s if input is not None: 146s if kwargs.get('stdin') is not None: 146s raise ValueError('stdin and input arguments may not both be used.') 146s kwargs['stdin'] = PIPE 146s 146s if capture_output: 146s if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: 146s raise ValueError('stdout and stderr arguments may not be used ' 146s 'with capture_output.') 146s kwargs['stdout'] = PIPE 146s kwargs['stderr'] = PIPE 146s 146s with Popen(*popenargs, **kwargs) as process: 146s try: 146s stdout, stderr = process.communicate(input, timeout=timeout) 146s except TimeoutExpired as exc: 146s process.kill() 146s if _mswindows: 146s # Windows accumulates the output in a single blocking 146s # read() call run on child threads, with the timeout 146s # being done in a join() on those threads. communicate() 146s # _after_ kill() is required to collect that and add it 146s # to the exception. 146s exc.stdout, exc.stderr = process.communicate() 146s else: 146s # POSIX _communicate already populated the output so 146s # far into the TimeoutExpired exception. 146s process.wait() 146s raise 146s except: # Including KeyboardInterrupt, communicate handled that. 146s process.kill() 146s # We don't call process.wait() as .__exit__ does that for us. 146s raise 146s retcode = process.poll() 146s if check and retcode: 146s > raise CalledProcessError(retcode, process.args, 146s output=stdout, stderr=stderr) 146s E subprocess.CalledProcessError: Command '['ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-1/test_command_abspath0/source-repo', '--command=/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', '-o', 'UserKnownHostsFile=/dev/null', 'ssh://127.0.0.1:34947//tmp/pytest-of-ubuntu/pytest-1/test_command_abspath0/dest-repo']' returned non-zero exit status 1. 146s 146s /usr/lib/python3.14/subprocess.py:577: CalledProcessError 146s ----------------------------- Captured stderr call ----------------------------- 146s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build:/tmp/autopkgtest.hUcnxx/build.zeh/src/debian/python3-ostree-push/usr/lib/python3.14/dist-packages:/usr/lib/python314.zip:/usr/lib/python3.14:/usr/lib/python3.14/lib-dynload:/usr/local/lib/python3.14/dist-packages:/usr/lib/python3/dist-packages 146s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-1/test_command_abspath0/source-repo', '--command=/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', '-o', 'UserKnownHostsFile=/dev/null', 'ssh://127.0.0.1:34947//tmp/pytest-of-ubuntu/pytest-1/test_command_abspath0/dest-repo'] 146s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-1/test_command_abspath0/source-repo', commands=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-receive-1'], ssh_options=[]), '-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa' 146s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-1/test_command_abspath0/source-repo', commands=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa']), '-o', 'IdentitiesOnly=yes' 146s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-1/test_command_abspath0/source-repo', commands=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes']), '-o', 'StrictHostKeyChecking=no' 146s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-1/test_command_abspath0/source-repo', commands=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no']), '-o', 'UserKnownHostsFile=/dev/null' 146s DEBUG:otpush.push:Repo /tmp/pytest-of-ubuntu/pytest-1/test_command_abspath0/source-repo has been modified more recently than /tmp/pytest-of-ubuntu/pytest-1/test_command_abspath0/source-repo/summary, regenerating 146s INFO:otpush.push:Regenerating summary file 146s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build:/tmp/autopkgtest.hUcnxx/build.zeh/src/debian/python3-ostree-push/usr/lib/python3.14/dist-packages:/usr/lib/python314.zip:/usr/lib/python3.14:/usr/lib/python3.14/lib-dynload:/usr/local/lib/python3.14/dist-packages:/usr/lib/python3/dist-packages 146s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push'] 146s usage: ostree-push [-h] [-n] [-p PORT] [-q] [-v] [--repo REPO] 146s [--command COMMAND] [-i OPTION] [--version] 146s DEST [REF ...] 146s ostree-push: error: the following arguments are required: DEST 146s Traceback (most recent call last): 146s File "/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push", line 14, in 146s push.main() 146s ~~~~~~~~~^^ 146s File "/usr/lib/python3/dist-packages/otpush/push.py", line 574, in main 146s push_refs( 146s ~~~~~~~~~^ 146s repo, 146s ^^^^^ 146s ...<4 lines>... 146s dry_run=args.dry_run, 146s ^^^^^^^^^^^^^^^^^^^^^ 146s ) 146s ^ 146s File "/usr/lib/python3/dist-packages/otpush/push.py", line 349, in push_refs 146s with RepoServer(local_repo_path) as http_server: 146s ~~~~~~~~~~^^^^^^^^^^^^^^^^^ 146s File "/usr/lib/python3/dist-packages/otpush/push.py", line 114, in __enter__ 146s self.start() 146s ~~~~~~~~~~^^ 146s File "/usr/lib/python3/dist-packages/otpush/push.py", line 141, in start 146s self.proc.start() 146s ~~~~~~~~~~~~~~~^^ 146s File "/usr/lib/python3.14/multiprocessing/process.py", line 121, in start 146s self._popen = self._Popen(self) 146s ~~~~~~~~~~~^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/context.py", line 224, in _Popen 146s return _default_context.get_context().Process._Popen(process_obj) 146s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/context.py", line 300, in _Popen 146s return Popen(process_obj) 146s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 35, in __init__ 146s super().__init__(process_obj) 146s ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/popen_fork.py", line 20, in __init__ 146s self._launch(process_obj) 146s ~~~~~~~~~~~~^^^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 51, in _launch 146s self.sentinel, w = forkserver.connect_to_new_process(self._fds) 146s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/forkserver.py", line 106, in connect_to_new_process 146s connection.answer_challenge( 146s ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 146s wrapped_client, self._forkserver_authkey) 146s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/connection.py", line 970, in answer_challenge 146s message = connection.recv_bytes(256) # reject large message 146s File "/usr/lib/python3.14/multiprocessing/connection.py", line 222, in recv_bytes 146s buf = self._recv_bytes(maxlength) 146s File "/usr/lib/python3.14/multiprocessing/connection.py", line 447, in _recv_bytes 146s buf = self._recv(4) 146s File "/usr/lib/python3.14/multiprocessing/connection.py", line 412, in _recv 146s chunk = read(handle, to_read) 146s ConnectionResetError: [Errno 104] Connection reset by peer 146s _______________________________ test_unversioned _______________________________ 146s 146s source_repo = 146s dest_repo = 146s sshd = SSHServerInfo(proc=, address='127.0.0.1', port=34947) 146s ssh_options = ['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', ...] 146s cli_env_vars = {'PATH': '/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:...ild.zeh/src/debian/python3-ostree-push/usr/lib/python3.14/dist-packages:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build'} 146s receive_config_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-1/test_unversioned0/ostree-receive.conf') 146s tmp_files_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-1/test_unversioned0/files') 146s 146s def test_unversioned(source_repo, dest_repo, sshd, ssh_options, 146s cli_env_vars, receive_config_path, tmp_files_path): 146s """Test push with unversioned ostree-receive""" 146s args = ( 146s source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 146s receive_config_path 146s ) 146s random_commit(source_repo, tmp_files_path, 'test') 146s > run_push(*args, command='ostree-receive') 146s 146s tests/test_full.py:166: 146s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 146s tests/test_full.py:43: in run_push 146s return subprocess.run(cmd, **popen_kwargs) 146s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 146s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 146s 146s input = None, capture_output = False, timeout = None, check = True 146s popenargs = (['ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-1/test_unversioned0/source-repo', '--command=ostree-receive', '-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', ...],) 146s kwargs = {'env': {'ADTTMP': '/tmp/autopkgtest.hUcnxx/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.hUcnxx/pybuild-autopk...': 'python3-defaults/3.14.2-1', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.hUcnxx/pybuild-autopkgtest-artifacts', ...}} 146s process = 146s stdout = None, stderr = None, retcode = 1 146s 146s def run(*popenargs, 146s input=None, capture_output=False, timeout=None, check=False, **kwargs): 146s """Run command with arguments and return a CompletedProcess instance. 146s 146s The returned instance will have attributes args, returncode, stdout and 146s stderr. By default, stdout and stderr are not captured, and those attributes 146s will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, 146s or pass capture_output=True to capture both. 146s 146s If check is True and the exit code was non-zero, it raises a 146s CalledProcessError. The CalledProcessError object will have the return code 146s in the returncode attribute, and output & stderr attributes if those streams 146s were captured. 146s 146s If timeout (seconds) is given and the process takes too long, 146s a TimeoutExpired exception will be raised. 146s 146s There is an optional argument "input", allowing you to 146s pass bytes or a string to the subprocess's stdin. If you use this argument 146s you may not also use the Popen constructor's "stdin" argument, as 146s it will be used internally. 146s 146s By default, all communication is in bytes, and therefore any "input" should 146s be bytes, and the stdout and stderr will be bytes. If in text mode, any 146s "input" should be a string, and stdout and stderr will be strings decoded 146s according to locale encoding, or by "encoding" if set. Text mode is 146s triggered by setting any of text, encoding, errors or universal_newlines. 146s 146s The other arguments are the same as for the Popen constructor. 146s """ 146s if input is not None: 146s if kwargs.get('stdin') is not None: 146s raise ValueError('stdin and input arguments may not both be used.') 146s kwargs['stdin'] = PIPE 146s 146s if capture_output: 146s if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: 146s raise ValueError('stdout and stderr arguments may not be used ' 146s 'with capture_output.') 146s kwargs['stdout'] = PIPE 146s kwargs['stderr'] = PIPE 146s 146s with Popen(*popenargs, **kwargs) as process: 146s try: 146s stdout, stderr = process.communicate(input, timeout=timeout) 146s except TimeoutExpired as exc: 146s process.kill() 146s if _mswindows: 146s # Windows accumulates the output in a single blocking 146s # read() call run on child threads, with the timeout 146s # being done in a join() on those threads. communicate() 146s # _after_ kill() is required to collect that and add it 146s # to the exception. 146s exc.stdout, exc.stderr = process.communicate() 146s else: 146s # POSIX _communicate already populated the output so 146s # far into the TimeoutExpired exception. 146s process.wait() 146s raise 146s except: # Including KeyboardInterrupt, communicate handled that. 146s process.kill() 146s # We don't call process.wait() as .__exit__ does that for us. 146s raise 146s retcode = process.poll() 146s if check and retcode: 146s > raise CalledProcessError(retcode, process.args, 146s output=stdout, stderr=stderr) 146s E subprocess.CalledProcessError: Command '['ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-1/test_unversioned0/source-repo', '--command=ostree-receive', '-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', '-o', 'UserKnownHostsFile=/dev/null', 'ssh://127.0.0.1:34947//tmp/pytest-of-ubuntu/pytest-1/test_unversioned0/dest-repo']' returned non-zero exit status 1. 146s 146s /usr/lib/python3.14/subprocess.py:577: CalledProcessError 146s ----------------------------- Captured stderr call ----------------------------- 146s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build:/tmp/autopkgtest.hUcnxx/build.zeh/src/debian/python3-ostree-push/usr/lib/python3.14/dist-packages:/usr/lib/python314.zip:/usr/lib/python3.14:/usr/lib/python3.14/lib-dynload:/usr/local/lib/python3.14/dist-packages:/usr/lib/python3/dist-packages 146s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-1/test_unversioned0/source-repo', '--command=ostree-receive', '-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', '-o', 'UserKnownHostsFile=/dev/null', 'ssh://127.0.0.1:34947//tmp/pytest-of-ubuntu/pytest-1/test_unversioned0/dest-repo'] 146s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-1/test_unversioned0/source-repo', commands=['ostree-receive'], ssh_options=[]), '-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa' 146s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-1/test_unversioned0/source-repo', commands=['ostree-receive'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa']), '-o', 'IdentitiesOnly=yes' 146s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-1/test_unversioned0/source-repo', commands=['ostree-receive'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes']), '-o', 'StrictHostKeyChecking=no' 146s DEBUG:otpush.push:Parsing SSH option Namespace(dest=None, refs=[], dry_run=False, port=None, log_level=20, repo='/tmp/pytest-of-ubuntu/pytest-1/test_unversioned0/source-repo', commands=['ostree-receive'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no']), '-o', 'UserKnownHostsFile=/dev/null' 146s DEBUG:otpush.push:Repo /tmp/pytest-of-ubuntu/pytest-1/test_unversioned0/source-repo has been modified more recently than /tmp/pytest-of-ubuntu/pytest-1/test_unversioned0/source-repo/summary, regenerating 146s INFO:otpush.push:Regenerating summary file 146s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests:/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build:/tmp/autopkgtest.hUcnxx/build.zeh/src/debian/python3-ostree-push/usr/lib/python3.14/dist-packages:/usr/lib/python314.zip:/usr/lib/python3.14:/usr/lib/python3.14/lib-dynload:/usr/local/lib/python3.14/dist-packages:/usr/lib/python3/dist-packages 146s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push'] 146s usage: ostree-push [-h] [-n] [-p PORT] [-q] [-v] [--repo REPO] 146s [--command COMMAND] [-i OPTION] [--version] 146s DEST [REF ...] 146s ostree-push: error: the following arguments are required: DEST 146s Traceback (most recent call last): 146s File "/tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build/tests/ostree-push", line 14, in 146s push.main() 146s ~~~~~~~~~^^ 146s File "/usr/lib/python3/dist-packages/otpush/push.py", line 574, in main 146s push_refs( 146s ~~~~~~~~~^ 146s repo, 146s ^^^^^ 146s ...<4 lines>... 146s dry_run=args.dry_run, 146s ^^^^^^^^^^^^^^^^^^^^^ 146s ) 146s ^ 146s File "/usr/lib/python3/dist-packages/otpush/push.py", line 349, in push_refs 146s with RepoServer(local_repo_path) as http_server: 146s ~~~~~~~~~~^^^^^^^^^^^^^^^^^ 146s File "/usr/lib/python3/dist-packages/otpush/push.py", line 114, in __enter__ 146s self.start() 146s ~~~~~~~~~~^^ 146s File "/usr/lib/python3/dist-packages/otpush/push.py", line 141, in start 146s self.proc.start() 146s ~~~~~~~~~~~~~~~^^ 146s File "/usr/lib/python3.14/multiprocessing/process.py", line 121, in start 146s self._popen = self._Popen(self) 146s ~~~~~~~~~~~^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/context.py", line 224, in _Popen 146s return _default_context.get_context().Process._Popen(process_obj) 146s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/context.py", line 300, in _Popen 146s return Popen(process_obj) 146s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 35, in __init__ 146s super().__init__(process_obj) 146s ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/popen_fork.py", line 20, in __init__ 146s self._launch(process_obj) 146s ~~~~~~~~~~~~^^^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 51, in _launch 146s self.sentinel, w = forkserver.connect_to_new_process(self._fds) 146s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/forkserver.py", line 106, in connect_to_new_process 146s connection.answer_challenge( 146s ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 146s wrapped_client, self._forkserver_authkey) 146s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 146s File "/usr/lib/python3.14/multiprocessing/connection.py", line 970, in answer_challenge 146s message = connection.recv_bytes(256) # reject large message 146s File "/usr/lib/python3.14/multiprocessing/connection.py", line 222, in recv_bytes 146s buf = self._recv_bytes(maxlength) 146s File "/usr/lib/python3.14/multiprocessing/connection.py", line 447, in _recv_bytes 146s buf = self._recv(4) 146s File "/usr/lib/python3.14/multiprocessing/connection.py", line 412, in _recv 146s chunk = read(handle, to_read) 146s ConnectionResetError: [Errno 104] Connection reset by peer 146s =========================== short test summary info ============================ 146s FAILED tests/test_full.py::test_no_commits - subprocess.CalledProcessError: C... 146s FAILED tests/test_full.py::test_basic - subprocess.CalledProcessError: Comman... 146s FAILED tests/test_full.py::test_dry_run - subprocess.CalledProcessError: Comm... 146s FAILED tests/test_full.py::test_scp_dest - subprocess.CalledProcessError: Com... 146s FAILED tests/test_full.py::test_command_abspath - subprocess.CalledProcessErr... 146s FAILED tests/test_full.py::test_unversioned - subprocess.CalledProcessError: ... 146s =================== 6 failed, 89 passed, 4 skipped in 20.80s =================== 146s E: pybuild pybuild:483: test: plugin pyproject failed with: exit code=1: cd /tmp/autopkgtest.hUcnxx/autopkgtest_tmp/build; python3.14 -m pytest tests 146s pybuild-autopkgtest: error: pybuild --autopkgtest --test-pytest -i python{version} -p "3.13 3.14" returned exit code 13 146s make: *** [/tmp/l9yTAJ0fTf/run:4: pybuild-autopkgtest] Error 25 146s pybuild-autopkgtest: error: /tmp/l9yTAJ0fTf/run pybuild-autopkgtest returned exit code 2 146s autopkgtest [19:27:05]: test pybuild-autopkgtest: -----------------------] 147s autopkgtest [19:27:06]: test pybuild-autopkgtest: - - - - - - - - - - results - - - - - - - - - - 147s pybuild-autopkgtest FAIL non-zero exit status 25 147s autopkgtest [19:27:06]: @@@@@@@@@@@@@@@@@@@@ summary 147s pybuild-autopkgtest FAIL non-zero exit status 25