0s autopkgtest [19:22:57]: starting date and time: 2026-01-22 19:22:57+0000 0s autopkgtest [19:22:57]: git checkout: 508d4a25 a-v-ssh wait_for_ssh: demote "ssh connection failed" to a debug message 0s autopkgtest [19:22:57]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.2at75rvt/out --timeout-copy=6000 --setup-commands 'ln -s /dev/null /etc/systemd/system/bluetooth.service; printf "http_proxy=http://squid.internal:3128\nhttps_proxy=http://squid.internal:3128\nno_proxy=127.0.0.1,127.0.1.1,localhost,localdomain,internal,login.ubuntu.com,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com\n" >> /etc/environment' --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 -- lxd -r lxd-armhf-10.145.243.39 lxd-armhf-10.145.243.39:autopkgtest/ubuntu/resolute/armhf 23s autopkgtest [19:23:20]: testbed dpkg architecture: armhf 25s autopkgtest [19:23:22]: testbed apt version: 3.1.12 29s autopkgtest [19:23:26]: @@@@@@@@@@@@@@@@@@@@ test bed setup 31s autopkgtest [19:23:28]: testbed release detected to be: None 38s autopkgtest [19:23:35]: updating testbed package index (apt update) 40s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 41s Get:2 http://ftpmaster.internal/ubuntu resolute InRelease [124 kB] 41s Get:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease [124 kB] 41s Get:4 http://ftpmaster.internal/ubuntu resolute-security InRelease [124 kB] 41s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [19.2 kB] 41s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [80.9 kB] 41s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [815 kB] 41s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [2820 B] 41s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf Packages [97.4 kB] 41s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/universe armhf Packages [571 kB] 41s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse armhf Packages [3644 B] 41s Get:12 http://ftpmaster.internal/ubuntu resolute/multiverse Sources [310 kB] 41s Get:13 http://ftpmaster.internal/ubuntu resolute/universe Sources [21.4 MB] 43s Get:14 http://ftpmaster.internal/ubuntu resolute/main Sources [1402 kB] 43s Get:15 http://ftpmaster.internal/ubuntu resolute/main armhf Packages [1371 kB] 43s Get:16 http://ftpmaster.internal/ubuntu resolute/universe armhf Packages [14.9 MB] 43s Get:17 http://ftpmaster.internal/ubuntu resolute/multiverse armhf Packages [175 kB] 46s Fetched 41.6 MB in 6s (6718 kB/s) 48s Reading package lists... 54s autopkgtest [19:23:51]: upgrading testbed (apt dist-upgrade and autopurge) 56s Reading package lists... 56s Building dependency tree... 56s Reading state information... 57s Calculating upgrade... 58s The following packages were automatically installed and are no longer required: 58s libpython3.13-minimal libpython3.13-stdlib python3.13 python3.13-minimal 58s Use 'apt autoremove' to remove them. 58s The following NEW packages will be installed: 58s libpython3.14-minimal libpython3.14-stdlib python3.14 python3.14-minimal 58s The following packages will be upgraded: 58s libpython3-stdlib python3 python3-gdbm python3-minimal 58s 4 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. 58s Need to get 6219 kB of archives. 58s After this operation, 22.5 MB of additional disk space will be used. 58s Get:1 http://ftpmaster.internal/ubuntu resolute/main armhf libpython3.14-minimal armhf 3.14.2-1 [905 kB] 59s Get:2 http://ftpmaster.internal/ubuntu resolute/main armhf python3.14-minimal armhf 3.14.2-1 [2155 kB] 59s Get:3 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf python3-gdbm armhf 3.14.2-1 [11.1 kB] 59s Get:4 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf python3-minimal armhf 3.14.2-1 [28.2 kB] 59s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf python3 armhf 3.14.2-1 [22.9 kB] 59s Get:6 http://ftpmaster.internal/ubuntu resolute/main armhf libpython3.14-stdlib armhf 3.14.2-1 [2270 kB] 59s Get:7 http://ftpmaster.internal/ubuntu resolute/main armhf python3.14 armhf 3.14.2-1 [816 kB] 59s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf libpython3-stdlib armhf 3.14.2-1 [10.9 kB] 59s Fetched 6219 kB in 1s (6832 kB/s) 59s Selecting previously unselected package libpython3.14-minimal:armhf. 60s (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 ... 66485 files and directories currently installed.) 60s Preparing to unpack .../libpython3.14-minimal_3.14.2-1_armhf.deb ... 60s Unpacking libpython3.14-minimal:armhf (3.14.2-1) ... 60s Selecting previously unselected package python3.14-minimal. 60s Preparing to unpack .../python3.14-minimal_3.14.2-1_armhf.deb ... 60s Unpacking python3.14-minimal (3.14.2-1) ... 60s Preparing to unpack .../python3-gdbm_3.14.2-1_armhf.deb ... 60s Unpacking python3-gdbm (3.14.2-1) over (3.13.9-1) ... 60s Setting up libpython3.14-minimal:armhf (3.14.2-1) ... 60s Setting up python3.14-minimal (3.14.2-1) ... 61s (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 ... 66827 files and directories currently installed.) 61s Preparing to unpack .../python3-minimal_3.14.2-1_armhf.deb ... 61s Unpacking python3-minimal (3.14.2-1) over (3.13.7-1) ... 62s Setting up python3-minimal (3.14.2-1) ... 62s (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 ... 66827 files and directories currently installed.) 62s Preparing to unpack .../python3_3.14.2-1_armhf.deb ... 62s Unpacking python3 (3.14.2-1) over (3.13.7-1) ... 62s Selecting previously unselected package libpython3.14-stdlib:armhf. 62s Preparing to unpack .../libpython3.14-stdlib_3.14.2-1_armhf.deb ... 62s Unpacking libpython3.14-stdlib:armhf (3.14.2-1) ... 62s Selecting previously unselected package python3.14. 62s Preparing to unpack .../python3.14_3.14.2-1_armhf.deb ... 62s Unpacking python3.14 (3.14.2-1) ... 62s Preparing to unpack .../libpython3-stdlib_3.14.2-1_armhf.deb ... 62s Unpacking libpython3-stdlib:armhf (3.14.2-1) over (3.13.7-1) ... 62s Setting up libpython3.14-stdlib:armhf (3.14.2-1) ... 62s Setting up python3.14 (3.14.2-1) ... 64s Setting up libpython3-stdlib:armhf (3.14.2-1) ... 64s Setting up python3-gdbm (3.14.2-1) ... 64s Setting up python3 (3.14.2-1) ... 64s Processing triggers for man-db (2.13.1-1) ... 65s Processing triggers for systemd (259-1ubuntu2) ... 67s Reading package lists... 68s Building dependency tree... 68s Reading state information... 68s Solving dependencies... 69s The following packages will be REMOVED: 69s libpython3.13-minimal* libpython3.13-stdlib* python3.13* python3.13-minimal* 69s 0 upgraded, 0 newly installed, 4 to remove and 0 not upgraded. 69s After this operation, 21.3 MB disk space will be freed. 69s (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 ... 67257 files and directories currently installed.) 69s Removing python3.13 (3.13.11-1) ... 69s Removing libpython3.13-stdlib:armhf (3.13.11-1) ... 69s Removing python3.13-minimal (3.13.11-1) ... 71s Removing libpython3.13-minimal:armhf (3.13.11-1) ... 71s Processing triggers for man-db (2.13.1-1) ... 71s Processing triggers for systemd (259-1ubuntu2) ... 71s (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 ... 66518 files and directories currently installed.) 71s Purging configuration files for libpython3.13-minimal:armhf (3.13.11-1) ... 71s Purging configuration files for python3.13-minimal (3.13.11-1) ... 73s autopkgtest [19:24:10]: rebooting testbed after setup commands that affected boot 115s autopkgtest [19:24:52]: testbed running kernel: Linux 6.8.0-87-generic #88~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Oct 14 14:00:09 UTC 2 140s autopkgtest [19:25:17]: @@@@@@@@@@@@@@@@@@@@ apt-source ostree-push 151s Get:1 http://ftpmaster.internal/ubuntu resolute/universe ostree-push 1.2.0-1 (dsc) [1743 B] 151s Get:2 http://ftpmaster.internal/ubuntu resolute/universe ostree-push 1.2.0-1 (tar) [61.3 kB] 151s Get:3 http://ftpmaster.internal/ubuntu resolute/universe ostree-push 1.2.0-1 (diff) [7372 B] 151s gpgv: Signature made Sat Mar 29 17:34:18 2025 UTC 151s gpgv: using EDDSA key 83DCD17F44B22CC83656EDA1E8446B4AC8C77261 151s gpgv: Can't check signature: No public key 151s dpkg-source: warning: cannot verify inline signature for ./ostree-push_1.2.0-1.dsc: no acceptable signature found 151s autopkgtest [19:25:28]: testing package ostree-push version 1.2.0-1 154s autopkgtest [19:25:31]: build not needed 157s autopkgtest [19:25:34]: test pybuild-autopkgtest: preparing testbed 159s Reading package lists... 159s Building dependency tree... 159s Reading state information... 160s Solving dependencies... 160s The following NEW packages will be installed: 160s autoconf automake autopoint autotools-dev bubblewrap build-essential cpp 160s cpp-15 cpp-15-arm-linux-gnueabihf cpp-arm-linux-gnueabihf debhelper 160s debugedit dh-autoreconf dh-python dh-strip-nondeterminism dwz flatpak fuse3 160s g++ g++-15 g++-15-arm-linux-gnueabihf g++-arm-linux-gnueabihf gcc gcc-15 160s gcc-15-arm-linux-gnueabihf gcc-arm-linux-gnueabihf gettext gir1.2-ostree-1.0 160s intltool-debian libappstream5 libarchive-zip-perl libasan8 libavahi-client3 160s libavahi-common-data libavahi-common3 libavahi-glib1 libc-dev-bin libc6-dev 160s libcc1-0 libcrypt-dev libdconf1 libdebhelper-perl libdeflate0 libdw1t64 160s libfile-stripnondeterminism-perl libfuse3-4 libgcc-15-dev 160s libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgomp1 libisl23 libjbig0 161s libjpeg-turbo8 libjpeg8 liblerc4 libmalcontent-0-0 libmpc3 libostree-1-1 161s libpython3.13-minimal libpython3.13-stdlib libsharpyuv0 libstdc++-15-dev 161s libstemmer0d libtiff6 libtool libubsan1 libwayland-client0 libwebp7 161s linux-libc-dev m4 ostree ostree-push po-debconf pybuild-plugin-autopkgtest 161s pybuild-plugin-pyproject python3-all python3-build python3-iniconfig 161s python3-installer python3-pluggy python3-pyproject-hooks python3-pytest 161s python3-wheel python3.13 python3.13-minimal rpcsvc-proto xdg-dbus-proxy 161s 0 upgraded, 87 newly installed, 0 to remove and 0 not upgraded. 161s Need to get 68.2 MB of archives. 161s After this operation, 204 MB of additional disk space will be used. 161s Get:1 http://ftpmaster.internal/ubuntu resolute/main armhf libpython3.13-minimal armhf 3.13.11-1 [875 kB] 161s Get:2 http://ftpmaster.internal/ubuntu resolute/main armhf python3.13-minimal armhf 3.13.11-1 [2055 kB] 161s Get:3 http://ftpmaster.internal/ubuntu resolute/main armhf libpython3.13-stdlib armhf 3.13.11-1 [1960 kB] 161s Get:4 http://ftpmaster.internal/ubuntu resolute/main armhf python3.13 armhf 3.13.11-1 [758 kB] 161s Get:5 http://ftpmaster.internal/ubuntu resolute/main armhf libfuse3-4 armhf 3.18.1-1 [85.3 kB] 161s Get:6 http://ftpmaster.internal/ubuntu resolute/main armhf fuse3 armhf 3.18.1-1 [26.9 kB] 161s Get:7 http://ftpmaster.internal/ubuntu resolute/main armhf m4 armhf 1.4.20-2 [212 kB] 161s Get:8 http://ftpmaster.internal/ubuntu resolute/main armhf autoconf all 2.72-3.1ubuntu1 [384 kB] 161s Get:9 http://ftpmaster.internal/ubuntu resolute/main armhf autotools-dev all 20240727.1 [43.4 kB] 161s Get:10 http://ftpmaster.internal/ubuntu resolute/main armhf automake all 1:1.18.1-3build1 [582 kB] 161s Get:11 http://ftpmaster.internal/ubuntu resolute/main armhf autopoint all 0.23.2-1 [620 kB] 161s Get:12 http://ftpmaster.internal/ubuntu resolute/main armhf bubblewrap armhf 0.11.0-2build1 [52.1 kB] 161s Get:13 http://ftpmaster.internal/ubuntu resolute/main armhf libc-dev-bin armhf 2.42-2ubuntu4 [21.8 kB] 161s Get:14 http://ftpmaster.internal/ubuntu resolute/main armhf linux-libc-dev armhf 6.18.0-9.9 [1819 kB] 162s Get:15 http://ftpmaster.internal/ubuntu resolute/main armhf libcrypt-dev armhf 1:4.5.1-1 [128 kB] 162s Get:16 http://ftpmaster.internal/ubuntu resolute/main armhf rpcsvc-proto armhf 1.4.3-1 [62.3 kB] 162s Get:17 http://ftpmaster.internal/ubuntu resolute/main armhf libc6-dev armhf 2.42-2ubuntu4 [1416 kB] 162s Get:18 http://ftpmaster.internal/ubuntu resolute/main armhf libisl23 armhf 0.27-1build1 [553 kB] 162s Get:19 http://ftpmaster.internal/ubuntu resolute/main armhf libmpc3 armhf 1.3.1-2 [47.0 kB] 162s Get:20 http://ftpmaster.internal/ubuntu resolute/main armhf cpp-15-arm-linux-gnueabihf armhf 15.2.0-11ubuntu1 [10.1 MB] 162s Get:21 http://ftpmaster.internal/ubuntu resolute/main armhf cpp-15 armhf 15.2.0-11ubuntu1 [1032 B] 162s Get:22 http://ftpmaster.internal/ubuntu resolute/main armhf cpp-arm-linux-gnueabihf armhf 4:15.2.0-4ubuntu1 [5756 B] 162s Get:23 http://ftpmaster.internal/ubuntu resolute/main armhf cpp armhf 4:15.2.0-4ubuntu1 [22.4 kB] 162s Get:24 http://ftpmaster.internal/ubuntu resolute/main armhf libcc1-0 armhf 15.2.0-11ubuntu1 [43.5 kB] 162s Get:25 http://ftpmaster.internal/ubuntu resolute/main armhf libgomp1 armhf 15.2.0-11ubuntu1 [129 kB] 162s Get:26 http://ftpmaster.internal/ubuntu resolute/main armhf libasan8 armhf 15.2.0-11ubuntu1 [2947 kB] 162s Get:27 http://ftpmaster.internal/ubuntu resolute/main armhf libubsan1 armhf 15.2.0-11ubuntu1 [1187 kB] 162s Get:28 http://ftpmaster.internal/ubuntu resolute/main armhf libgcc-15-dev armhf 15.2.0-11ubuntu1 [898 kB] 162s Get:29 http://ftpmaster.internal/ubuntu resolute/main armhf gcc-15-arm-linux-gnueabihf armhf 15.2.0-11ubuntu1 [19.5 MB] 163s Get:30 http://ftpmaster.internal/ubuntu resolute/main armhf gcc-15 armhf 15.2.0-11ubuntu1 [497 kB] 163s Get:31 http://ftpmaster.internal/ubuntu resolute/main armhf gcc-arm-linux-gnueabihf armhf 4:15.2.0-4ubuntu1 [1220 B] 163s Get:32 http://ftpmaster.internal/ubuntu resolute/main armhf gcc armhf 4:15.2.0-4ubuntu1 [5022 B] 163s Get:33 http://ftpmaster.internal/ubuntu resolute/main armhf libstdc++-15-dev armhf 15.2.0-11ubuntu1 [2638 kB] 163s Get:34 http://ftpmaster.internal/ubuntu resolute/main armhf g++-15-arm-linux-gnueabihf armhf 15.2.0-11ubuntu1 [11.4 MB] 163s Get:35 http://ftpmaster.internal/ubuntu resolute/main armhf g++-15 armhf 15.2.0-11ubuntu1 [24.6 kB] 163s Get:36 http://ftpmaster.internal/ubuntu resolute/main armhf g++-arm-linux-gnueabihf armhf 4:15.2.0-4ubuntu1 [968 B] 163s Get:37 http://ftpmaster.internal/ubuntu resolute/main armhf g++ armhf 4:15.2.0-4ubuntu1 [1086 B] 163s Get:38 http://ftpmaster.internal/ubuntu resolute/main armhf build-essential armhf 12.12ubuntu2 [5256 B] 163s Get:39 http://ftpmaster.internal/ubuntu resolute/main armhf libdebhelper-perl all 13.28ubuntu1 [97.4 kB] 163s Get:40 http://ftpmaster.internal/ubuntu resolute/main armhf libtool all 2.5.4-9 [169 kB] 163s Get:41 http://ftpmaster.internal/ubuntu resolute/main armhf dh-autoreconf all 21 [12.5 kB] 163s Get:42 http://ftpmaster.internal/ubuntu resolute/main armhf libarchive-zip-perl all 1.68-1 [90.2 kB] 163s Get:43 http://ftpmaster.internal/ubuntu resolute/main armhf libfile-stripnondeterminism-perl all 1.15.0-1build1 [20.6 kB] 163s Get:44 http://ftpmaster.internal/ubuntu resolute/main armhf dh-strip-nondeterminism all 1.15.0-1build1 [5110 B] 163s Get:45 http://ftpmaster.internal/ubuntu resolute/main armhf libdw1t64 armhf 0.194-1 [254 kB] 163s Get:46 http://ftpmaster.internal/ubuntu resolute/main armhf debugedit armhf 1:5.2-3 [48.9 kB] 163s Get:47 http://ftpmaster.internal/ubuntu resolute/main armhf dwz armhf 0.16-2 [114 kB] 163s Get:48 http://ftpmaster.internal/ubuntu resolute/main armhf gettext armhf 0.23.2-1 [1059 kB] 163s Get:49 http://ftpmaster.internal/ubuntu resolute/main armhf intltool-debian all 0.35.0+20060710.6build1 [24.1 kB] 163s Get:50 http://ftpmaster.internal/ubuntu resolute/main armhf po-debconf all 1.0.22 [215 kB] 163s Get:51 http://ftpmaster.internal/ubuntu resolute/main armhf debhelper all 13.28ubuntu1 [916 kB] 163s Get:52 http://ftpmaster.internal/ubuntu resolute/universe armhf dh-python all 7.20251231 [122 kB] 163s Get:53 http://ftpmaster.internal/ubuntu resolute/main armhf xdg-dbus-proxy armhf 0.1.6-2 [23.3 kB] 163s Get:54 http://ftpmaster.internal/ubuntu resolute/main armhf libstemmer0d armhf 3.0.1-1 [138 kB] 163s Get:55 http://ftpmaster.internal/ubuntu resolute/main armhf libappstream5 armhf 1.0.6-2 [210 kB] 163s Get:56 http://ftpmaster.internal/ubuntu resolute/main armhf libdconf1 armhf 0.49.0-4 [40.5 kB] 163s Get:57 http://ftpmaster.internal/ubuntu resolute/main armhf libgdk-pixbuf2.0-common all 2.44.4+dfsg-1 [8584 B] 163s Get:58 http://ftpmaster.internal/ubuntu resolute/main armhf libjpeg-turbo8 armhf 2.1.5-4ubuntu2 [127 kB] 163s Get:59 http://ftpmaster.internal/ubuntu resolute/main armhf libjpeg8 armhf 8c-2ubuntu11 [2148 B] 163s Get:60 http://ftpmaster.internal/ubuntu resolute/main armhf libdeflate0 armhf 1.23-2 [38.7 kB] 163s Get:61 http://ftpmaster.internal/ubuntu resolute/main armhf libjbig0 armhf 2.1-6.1ubuntu3 [25.3 kB] 163s Get:62 http://ftpmaster.internal/ubuntu resolute/main armhf liblerc4 armhf 4.0.0+ds-5ubuntu2 [162 kB] 163s Get:63 http://ftpmaster.internal/ubuntu resolute/main armhf libsharpyuv0 armhf 1.5.0-0.1build1 [16.3 kB] 163s Get:64 http://ftpmaster.internal/ubuntu resolute/main armhf libwebp7 armhf 1.5.0-0.1build1 [189 kB] 163s Get:65 http://ftpmaster.internal/ubuntu resolute/main armhf libtiff6 armhf 4.7.0-3ubuntu3 [188 kB] 163s Get:66 http://ftpmaster.internal/ubuntu resolute/main armhf libgdk-pixbuf-2.0-0 armhf 2.44.4+dfsg-1 [139 kB] 163s Get:67 http://ftpmaster.internal/ubuntu resolute/main armhf libmalcontent-0-0 armhf 0.13.1-2ubuntu2 [21.1 kB] 163s Get:68 http://ftpmaster.internal/ubuntu resolute/main armhf libavahi-common-data armhf 0.8-17ubuntu1 [31.3 kB] 163s Get:69 http://ftpmaster.internal/ubuntu resolute/main armhf libavahi-common3 armhf 0.8-17ubuntu1 [20.4 kB] 163s Get:70 http://ftpmaster.internal/ubuntu resolute/main armhf libavahi-client3 armhf 0.8-17ubuntu1 [24.3 kB] 163s Get:71 http://ftpmaster.internal/ubuntu resolute/main armhf libavahi-glib1 armhf 0.8-17ubuntu1 [7694 B] 163s Get:72 http://ftpmaster.internal/ubuntu resolute/universe armhf libostree-1-1 armhf 2025.7-1 [346 kB] 163s Get:73 http://ftpmaster.internal/ubuntu resolute/main armhf libwayland-client0 armhf 1.24.0-2 [24.6 kB] 163s Get:74 http://ftpmaster.internal/ubuntu resolute/universe armhf flatpak armhf 1.16.2-1 [1566 kB] 163s Get:75 http://ftpmaster.internal/ubuntu resolute/universe armhf gir1.2-ostree-1.0 armhf 2025.7-1 [25.1 kB] 163s Get:76 http://ftpmaster.internal/ubuntu resolute/universe armhf ostree armhf 2025.7-1 [184 kB] 163s Get:77 http://ftpmaster.internal/ubuntu resolute/universe armhf ostree-push all 1.2.0-1 [26.7 kB] 163s Get:78 http://ftpmaster.internal/ubuntu resolute/universe armhf pybuild-plugin-autopkgtest all 7.20251231 [1748 B] 163s Get:79 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pyproject-hooks all 1.2.0-1 [10.2 kB] 163s Get:80 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-wheel all 0.46.1-2 [22.1 kB] 163s Get:81 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-build all 1.2.2-5 [30.9 kB] 163s Get:82 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-installer all 0.7.0+dfsg1-3 [17.4 kB] 163s Get:83 http://ftpmaster.internal/ubuntu resolute/universe armhf pybuild-plugin-pyproject all 7.20251231 [1714 B] 164s Get:84 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf python3-all armhf 3.14.2-1 [888 B] 164s Get:85 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-iniconfig all 2.1.0-2 [6962 B] 164s Get:86 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pluggy all 1.6.0-2 [21.1 kB] 164s Get:87 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pytest all 9.0.2-2 [277 kB] 164s Fetched 68.2 MB in 3s (22.3 MB/s) 164s Selecting previously unselected package libpython3.13-minimal:armhf. 164s (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 ... 66518 files and directories currently installed.) 164s Preparing to unpack .../00-libpython3.13-minimal_3.13.11-1_armhf.deb ... 164s Unpacking libpython3.13-minimal:armhf (3.13.11-1) ... 165s Selecting previously unselected package python3.13-minimal. 165s Preparing to unpack .../01-python3.13-minimal_3.13.11-1_armhf.deb ... 165s Unpacking python3.13-minimal (3.13.11-1) ... 165s Selecting previously unselected package libpython3.13-stdlib:armhf. 165s Preparing to unpack .../02-libpython3.13-stdlib_3.13.11-1_armhf.deb ... 165s Unpacking libpython3.13-stdlib:armhf (3.13.11-1) ... 165s Selecting previously unselected package python3.13. 165s Preparing to unpack .../03-python3.13_3.13.11-1_armhf.deb ... 165s Unpacking python3.13 (3.13.11-1) ... 165s Selecting previously unselected package libfuse3-4:armhf. 165s Preparing to unpack .../04-libfuse3-4_3.18.1-1_armhf.deb ... 165s Unpacking libfuse3-4:armhf (3.18.1-1) ... 165s Selecting previously unselected package fuse3. 165s Preparing to unpack .../05-fuse3_3.18.1-1_armhf.deb ... 165s Adding 'diversion of /bin/fusermount to /bin/fusermount.usr-is-merged by fuse3' 165s Adding 'diversion of /sbin/mount.fuse to /sbin/mount.fuse.usr-is-merged by fuse3' 165s Unpacking fuse3 (3.18.1-1) ... 165s Selecting previously unselected package m4. 165s Preparing to unpack .../06-m4_1.4.20-2_armhf.deb ... 165s Unpacking m4 (1.4.20-2) ... 165s Selecting previously unselected package autoconf. 165s Preparing to unpack .../07-autoconf_2.72-3.1ubuntu1_all.deb ... 165s Unpacking autoconf (2.72-3.1ubuntu1) ... 165s Selecting previously unselected package autotools-dev. 165s Preparing to unpack .../08-autotools-dev_20240727.1_all.deb ... 165s Unpacking autotools-dev (20240727.1) ... 165s Selecting previously unselected package automake. 165s Preparing to unpack .../09-automake_1%3a1.18.1-3build1_all.deb ... 165s Unpacking automake (1:1.18.1-3build1) ... 165s Selecting previously unselected package autopoint. 165s Preparing to unpack .../10-autopoint_0.23.2-1_all.deb ... 165s Unpacking autopoint (0.23.2-1) ... 165s Selecting previously unselected package bubblewrap. 165s Preparing to unpack .../11-bubblewrap_0.11.0-2build1_armhf.deb ... 165s Unpacking bubblewrap (0.11.0-2build1) ... 165s Selecting previously unselected package libc-dev-bin. 165s Preparing to unpack .../12-libc-dev-bin_2.42-2ubuntu4_armhf.deb ... 165s Unpacking libc-dev-bin (2.42-2ubuntu4) ... 166s Selecting previously unselected package linux-libc-dev:armhf. 166s Preparing to unpack .../13-linux-libc-dev_6.18.0-9.9_armhf.deb ... 166s Unpacking linux-libc-dev:armhf (6.18.0-9.9) ... 166s Selecting previously unselected package libcrypt-dev:armhf. 166s Preparing to unpack .../14-libcrypt-dev_1%3a4.5.1-1_armhf.deb ... 166s Unpacking libcrypt-dev:armhf (1:4.5.1-1) ... 166s Selecting previously unselected package rpcsvc-proto. 166s Preparing to unpack .../15-rpcsvc-proto_1.4.3-1_armhf.deb ... 166s Unpacking rpcsvc-proto (1.4.3-1) ... 166s Selecting previously unselected package libc6-dev:armhf. 166s Preparing to unpack .../16-libc6-dev_2.42-2ubuntu4_armhf.deb ... 166s Unpacking libc6-dev:armhf (2.42-2ubuntu4) ... 166s Selecting previously unselected package libisl23:armhf. 166s Preparing to unpack .../17-libisl23_0.27-1build1_armhf.deb ... 166s Unpacking libisl23:armhf (0.27-1build1) ... 166s Selecting previously unselected package libmpc3:armhf. 166s Preparing to unpack .../18-libmpc3_1.3.1-2_armhf.deb ... 166s Unpacking libmpc3:armhf (1.3.1-2) ... 166s Selecting previously unselected package cpp-15-arm-linux-gnueabihf. 166s Preparing to unpack .../19-cpp-15-arm-linux-gnueabihf_15.2.0-11ubuntu1_armhf.deb ... 166s Unpacking cpp-15-arm-linux-gnueabihf (15.2.0-11ubuntu1) ... 166s Selecting previously unselected package cpp-15. 166s Preparing to unpack .../20-cpp-15_15.2.0-11ubuntu1_armhf.deb ... 166s Unpacking cpp-15 (15.2.0-11ubuntu1) ... 167s Selecting previously unselected package cpp-arm-linux-gnueabihf. 167s Preparing to unpack .../21-cpp-arm-linux-gnueabihf_4%3a15.2.0-4ubuntu1_armhf.deb ... 167s Unpacking cpp-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 167s Selecting previously unselected package cpp. 167s Preparing to unpack .../22-cpp_4%3a15.2.0-4ubuntu1_armhf.deb ... 167s Unpacking cpp (4:15.2.0-4ubuntu1) ... 167s Selecting previously unselected package libcc1-0:armhf. 167s Preparing to unpack .../23-libcc1-0_15.2.0-11ubuntu1_armhf.deb ... 167s Unpacking libcc1-0:armhf (15.2.0-11ubuntu1) ... 167s Selecting previously unselected package libgomp1:armhf. 167s Preparing to unpack .../24-libgomp1_15.2.0-11ubuntu1_armhf.deb ... 167s Unpacking libgomp1:armhf (15.2.0-11ubuntu1) ... 167s Selecting previously unselected package libasan8:armhf. 167s Preparing to unpack .../25-libasan8_15.2.0-11ubuntu1_armhf.deb ... 167s Unpacking libasan8:armhf (15.2.0-11ubuntu1) ... 167s Selecting previously unselected package libubsan1:armhf. 167s Preparing to unpack .../26-libubsan1_15.2.0-11ubuntu1_armhf.deb ... 167s Unpacking libubsan1:armhf (15.2.0-11ubuntu1) ... 167s Selecting previously unselected package libgcc-15-dev:armhf. 167s Preparing to unpack .../27-libgcc-15-dev_15.2.0-11ubuntu1_armhf.deb ... 167s Unpacking libgcc-15-dev:armhf (15.2.0-11ubuntu1) ... 167s Selecting previously unselected package gcc-15-arm-linux-gnueabihf. 167s Preparing to unpack .../28-gcc-15-arm-linux-gnueabihf_15.2.0-11ubuntu1_armhf.deb ... 167s Unpacking gcc-15-arm-linux-gnueabihf (15.2.0-11ubuntu1) ... 168s Selecting previously unselected package gcc-15. 168s Preparing to unpack .../29-gcc-15_15.2.0-11ubuntu1_armhf.deb ... 168s Unpacking gcc-15 (15.2.0-11ubuntu1) ... 168s Selecting previously unselected package gcc-arm-linux-gnueabihf. 168s Preparing to unpack .../30-gcc-arm-linux-gnueabihf_4%3a15.2.0-4ubuntu1_armhf.deb ... 168s Unpacking gcc-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 168s Selecting previously unselected package gcc. 168s Preparing to unpack .../31-gcc_4%3a15.2.0-4ubuntu1_armhf.deb ... 168s Unpacking gcc (4:15.2.0-4ubuntu1) ... 168s Selecting previously unselected package libstdc++-15-dev:armhf. 168s Preparing to unpack .../32-libstdc++-15-dev_15.2.0-11ubuntu1_armhf.deb ... 168s Unpacking libstdc++-15-dev:armhf (15.2.0-11ubuntu1) ... 168s Selecting previously unselected package g++-15-arm-linux-gnueabihf. 168s Preparing to unpack .../33-g++-15-arm-linux-gnueabihf_15.2.0-11ubuntu1_armhf.deb ... 168s Unpacking g++-15-arm-linux-gnueabihf (15.2.0-11ubuntu1) ... 169s Selecting previously unselected package g++-15. 169s Preparing to unpack .../34-g++-15_15.2.0-11ubuntu1_armhf.deb ... 169s Unpacking g++-15 (15.2.0-11ubuntu1) ... 169s Selecting previously unselected package g++-arm-linux-gnueabihf. 169s Preparing to unpack .../35-g++-arm-linux-gnueabihf_4%3a15.2.0-4ubuntu1_armhf.deb ... 169s Unpacking g++-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 169s Selecting previously unselected package g++. 169s Preparing to unpack .../36-g++_4%3a15.2.0-4ubuntu1_armhf.deb ... 169s Unpacking g++ (4:15.2.0-4ubuntu1) ... 169s Selecting previously unselected package build-essential. 169s Preparing to unpack .../37-build-essential_12.12ubuntu2_armhf.deb ... 169s Unpacking build-essential (12.12ubuntu2) ... 169s Selecting previously unselected package libdebhelper-perl. 169s Preparing to unpack .../38-libdebhelper-perl_13.28ubuntu1_all.deb ... 169s Unpacking libdebhelper-perl (13.28ubuntu1) ... 169s Selecting previously unselected package libtool. 169s Preparing to unpack .../39-libtool_2.5.4-9_all.deb ... 169s Unpacking libtool (2.5.4-9) ... 169s Selecting previously unselected package dh-autoreconf. 169s Preparing to unpack .../40-dh-autoreconf_21_all.deb ... 169s Unpacking dh-autoreconf (21) ... 169s Selecting previously unselected package libarchive-zip-perl. 169s Preparing to unpack .../41-libarchive-zip-perl_1.68-1_all.deb ... 169s Unpacking libarchive-zip-perl (1.68-1) ... 169s Selecting previously unselected package libfile-stripnondeterminism-perl. 169s Preparing to unpack .../42-libfile-stripnondeterminism-perl_1.15.0-1build1_all.deb ... 169s Unpacking libfile-stripnondeterminism-perl (1.15.0-1build1) ... 169s Selecting previously unselected package dh-strip-nondeterminism. 169s Preparing to unpack .../43-dh-strip-nondeterminism_1.15.0-1build1_all.deb ... 169s Unpacking dh-strip-nondeterminism (1.15.0-1build1) ... 169s Selecting previously unselected package libdw1t64:armhf. 169s Preparing to unpack .../44-libdw1t64_0.194-1_armhf.deb ... 169s Unpacking libdw1t64:armhf (0.194-1) ... 169s Selecting previously unselected package debugedit. 169s Preparing to unpack .../45-debugedit_1%3a5.2-3_armhf.deb ... 169s Unpacking debugedit (1:5.2-3) ... 169s Selecting previously unselected package dwz. 169s Preparing to unpack .../46-dwz_0.16-2_armhf.deb ... 169s Unpacking dwz (0.16-2) ... 169s Selecting previously unselected package gettext. 169s Preparing to unpack .../47-gettext_0.23.2-1_armhf.deb ... 169s Unpacking gettext (0.23.2-1) ... 169s Selecting previously unselected package intltool-debian. 169s Preparing to unpack .../48-intltool-debian_0.35.0+20060710.6build1_all.deb ... 169s Unpacking intltool-debian (0.35.0+20060710.6build1) ... 169s Selecting previously unselected package po-debconf. 169s Preparing to unpack .../49-po-debconf_1.0.22_all.deb ... 169s Unpacking po-debconf (1.0.22) ... 170s Selecting previously unselected package debhelper. 170s Preparing to unpack .../50-debhelper_13.28ubuntu1_all.deb ... 170s Unpacking debhelper (13.28ubuntu1) ... 170s Selecting previously unselected package dh-python. 170s Preparing to unpack .../51-dh-python_7.20251231_all.deb ... 170s Unpacking dh-python (7.20251231) ... 170s Selecting previously unselected package xdg-dbus-proxy. 170s Preparing to unpack .../52-xdg-dbus-proxy_0.1.6-2_armhf.deb ... 170s Unpacking xdg-dbus-proxy (0.1.6-2) ... 170s Selecting previously unselected package libstemmer0d:armhf. 170s Preparing to unpack .../53-libstemmer0d_3.0.1-1_armhf.deb ... 170s Unpacking libstemmer0d:armhf (3.0.1-1) ... 170s Selecting previously unselected package libappstream5:armhf. 170s Preparing to unpack .../54-libappstream5_1.0.6-2_armhf.deb ... 170s Unpacking libappstream5:armhf (1.0.6-2) ... 170s Selecting previously unselected package libdconf1:armhf. 170s Preparing to unpack .../55-libdconf1_0.49.0-4_armhf.deb ... 170s Unpacking libdconf1:armhf (0.49.0-4) ... 170s Selecting previously unselected package libgdk-pixbuf2.0-common. 170s Preparing to unpack .../56-libgdk-pixbuf2.0-common_2.44.4+dfsg-1_all.deb ... 170s Unpacking libgdk-pixbuf2.0-common (2.44.4+dfsg-1) ... 170s Selecting previously unselected package libjpeg-turbo8:armhf. 170s Preparing to unpack .../57-libjpeg-turbo8_2.1.5-4ubuntu2_armhf.deb ... 170s Unpacking libjpeg-turbo8:armhf (2.1.5-4ubuntu2) ... 170s Selecting previously unselected package libjpeg8:armhf. 170s Preparing to unpack .../58-libjpeg8_8c-2ubuntu11_armhf.deb ... 170s Unpacking libjpeg8:armhf (8c-2ubuntu11) ... 170s Selecting previously unselected package libdeflate0:armhf. 170s Preparing to unpack .../59-libdeflate0_1.23-2_armhf.deb ... 170s Unpacking libdeflate0:armhf (1.23-2) ... 170s Selecting previously unselected package libjbig0:armhf. 170s Preparing to unpack .../60-libjbig0_2.1-6.1ubuntu3_armhf.deb ... 170s Unpacking libjbig0:armhf (2.1-6.1ubuntu3) ... 170s Selecting previously unselected package liblerc4:armhf. 170s Preparing to unpack .../61-liblerc4_4.0.0+ds-5ubuntu2_armhf.deb ... 170s Unpacking liblerc4:armhf (4.0.0+ds-5ubuntu2) ... 170s Selecting previously unselected package libsharpyuv0:armhf. 170s Preparing to unpack .../62-libsharpyuv0_1.5.0-0.1build1_armhf.deb ... 170s Unpacking libsharpyuv0:armhf (1.5.0-0.1build1) ... 170s Selecting previously unselected package libwebp7:armhf. 170s Preparing to unpack .../63-libwebp7_1.5.0-0.1build1_armhf.deb ... 170s Unpacking libwebp7:armhf (1.5.0-0.1build1) ... 170s Selecting previously unselected package libtiff6:armhf. 170s Preparing to unpack .../64-libtiff6_4.7.0-3ubuntu3_armhf.deb ... 170s Unpacking libtiff6:armhf (4.7.0-3ubuntu3) ... 170s Selecting previously unselected package libgdk-pixbuf-2.0-0:armhf. 170s Preparing to unpack .../65-libgdk-pixbuf-2.0-0_2.44.4+dfsg-1_armhf.deb ... 170s Unpacking libgdk-pixbuf-2.0-0:armhf (2.44.4+dfsg-1) ... 170s Selecting previously unselected package libmalcontent-0-0:armhf. 170s Preparing to unpack .../66-libmalcontent-0-0_0.13.1-2ubuntu2_armhf.deb ... 170s Unpacking libmalcontent-0-0:armhf (0.13.1-2ubuntu2) ... 170s Selecting previously unselected package libavahi-common-data:armhf. 170s Preparing to unpack .../67-libavahi-common-data_0.8-17ubuntu1_armhf.deb ... 170s Unpacking libavahi-common-data:armhf (0.8-17ubuntu1) ... 171s Selecting previously unselected package libavahi-common3:armhf. 171s Preparing to unpack .../68-libavahi-common3_0.8-17ubuntu1_armhf.deb ... 171s Unpacking libavahi-common3:armhf (0.8-17ubuntu1) ... 171s Selecting previously unselected package libavahi-client3:armhf. 171s Preparing to unpack .../69-libavahi-client3_0.8-17ubuntu1_armhf.deb ... 171s Unpacking libavahi-client3:armhf (0.8-17ubuntu1) ... 171s Selecting previously unselected package libavahi-glib1:armhf. 171s Preparing to unpack .../70-libavahi-glib1_0.8-17ubuntu1_armhf.deb ... 171s Unpacking libavahi-glib1:armhf (0.8-17ubuntu1) ... 171s Selecting previously unselected package libostree-1-1:armhf. 171s Preparing to unpack .../71-libostree-1-1_2025.7-1_armhf.deb ... 171s Unpacking libostree-1-1:armhf (2025.7-1) ... 171s Selecting previously unselected package libwayland-client0:armhf. 171s Preparing to unpack .../72-libwayland-client0_1.24.0-2_armhf.deb ... 171s Unpacking libwayland-client0:armhf (1.24.0-2) ... 171s Selecting previously unselected package flatpak. 171s Preparing to unpack .../73-flatpak_1.16.2-1_armhf.deb ... 171s Unpacking flatpak (1.16.2-1) ... 171s Selecting previously unselected package gir1.2-ostree-1.0:armhf. 171s Preparing to unpack .../74-gir1.2-ostree-1.0_2025.7-1_armhf.deb ... 171s Unpacking gir1.2-ostree-1.0:armhf (2025.7-1) ... 171s Selecting previously unselected package ostree. 171s Preparing to unpack .../75-ostree_2025.7-1_armhf.deb ... 171s Unpacking ostree (2025.7-1) ... 171s Selecting previously unselected package ostree-push. 171s Preparing to unpack .../76-ostree-push_1.2.0-1_all.deb ... 171s Unpacking ostree-push (1.2.0-1) ... 171s Selecting previously unselected package pybuild-plugin-autopkgtest. 171s Preparing to unpack .../77-pybuild-plugin-autopkgtest_7.20251231_all.deb ... 171s Unpacking pybuild-plugin-autopkgtest (7.20251231) ... 171s Selecting previously unselected package python3-pyproject-hooks. 171s Preparing to unpack .../78-python3-pyproject-hooks_1.2.0-1_all.deb ... 171s Unpacking python3-pyproject-hooks (1.2.0-1) ... 171s Selecting previously unselected package python3-wheel. 171s Preparing to unpack .../79-python3-wheel_0.46.1-2_all.deb ... 171s Unpacking python3-wheel (0.46.1-2) ... 171s Selecting previously unselected package python3-build. 171s Preparing to unpack .../80-python3-build_1.2.2-5_all.deb ... 171s Unpacking python3-build (1.2.2-5) ... 171s Selecting previously unselected package python3-installer. 171s Preparing to unpack .../81-python3-installer_0.7.0+dfsg1-3_all.deb ... 171s Unpacking python3-installer (0.7.0+dfsg1-3) ... 171s Selecting previously unselected package pybuild-plugin-pyproject. 171s Preparing to unpack .../82-pybuild-plugin-pyproject_7.20251231_all.deb ... 171s Unpacking pybuild-plugin-pyproject (7.20251231) ... 172s Selecting previously unselected package python3-all. 172s Preparing to unpack .../83-python3-all_3.14.2-1_armhf.deb ... 172s Unpacking python3-all (3.14.2-1) ... 172s Selecting previously unselected package python3-iniconfig. 172s Preparing to unpack .../84-python3-iniconfig_2.1.0-2_all.deb ... 172s Unpacking python3-iniconfig (2.1.0-2) ... 172s Selecting previously unselected package python3-pluggy. 172s Preparing to unpack .../85-python3-pluggy_1.6.0-2_all.deb ... 172s Unpacking python3-pluggy (1.6.0-2) ... 172s Selecting previously unselected package python3-pytest. 172s Preparing to unpack .../86-python3-pytest_9.0.2-2_all.deb ... 172s Unpacking python3-pytest (9.0.2-2) ... 172s Setting up dh-python (7.20251231) ... 172s Setting up bubblewrap (0.11.0-2build1) ... 172s Setting up python3-iniconfig (2.1.0-2) ... 173s Setting up libsharpyuv0:armhf (1.5.0-0.1build1) ... 173s Setting up liblerc4:armhf (4.0.0+ds-5ubuntu2) ... 173s Setting up libarchive-zip-perl (1.68-1) ... 173s Setting up libdebhelper-perl (13.28ubuntu1) ... 173s Setting up libgdk-pixbuf2.0-common (2.44.4+dfsg-1) ... 173s Setting up libdeflate0:armhf (1.23-2) ... 173s Setting up linux-libc-dev:armhf (6.18.0-9.9) ... 173s Setting up m4 (1.4.20-2) ... 173s Setting up libgomp1:armhf (15.2.0-11ubuntu1) ... 173s Setting up python3-wheel (0.46.1-2) ... 173s Setting up libjbig0:armhf (2.1-6.1ubuntu3) ... 173s Setting up libdw1t64:armhf (0.194-1) ... 173s Setting up libdconf1:armhf (0.49.0-4) ... 173s Setting up libpython3.13-minimal:armhf (3.13.11-1) ... 173s Setting up autotools-dev (20240727.1) ... 173s Setting up rpcsvc-proto (1.4.3-1) ... 173s Setting up python3-pyproject-hooks (1.2.0-1) ... 173s Setting up libavahi-common-data:armhf (0.8-17ubuntu1) ... 173s Setting up libmpc3:armhf (1.3.1-2) ... 173s Setting up autopoint (0.23.2-1) ... 173s Setting up libjpeg-turbo8:armhf (2.1.5-4ubuntu2) ... 173s Setting up python3-installer (0.7.0+dfsg1-3) ... 174s Setting up autoconf (2.72-3.1ubuntu1) ... 174s Setting up python3-pluggy (1.6.0-2) ... 174s Setting up libwebp7:armhf (1.5.0-0.1build1) ... 174s Setting up libubsan1:armhf (15.2.0-11ubuntu1) ... 174s Setting up xdg-dbus-proxy (0.1.6-2) ... 174s Setting up dwz (0.16-2) ... 174s Setting up libcrypt-dev:armhf (1:4.5.1-1) ... 174s Setting up libasan8:armhf (15.2.0-11ubuntu1) ... 174s Setting up debugedit (1:5.2-3) ... 174s Setting up python3.13-minimal (3.13.11-1) ... 175s Setting up libstemmer0d:armhf (3.0.1-1) ... 175s Setting up libfuse3-4:armhf (3.18.1-1) ... 175s Setting up libisl23:armhf (0.27-1build1) ... 175s Setting up python3-build (1.2.2-5) ... 176s Setting up libc-dev-bin (2.42-2ubuntu4) ... 176s Setting up cpp-15-arm-linux-gnueabihf (15.2.0-11ubuntu1) ... 176s Setting up libpython3.13-stdlib:armhf (3.13.11-1) ... 176s Setting up libcc1-0:armhf (15.2.0-11ubuntu1) ... 176s Setting up cpp-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 176s Setting up libmalcontent-0-0:armhf (0.13.1-2ubuntu2) ... 176s Setting up libwayland-client0:armhf (1.24.0-2) ... 176s Setting up libjpeg8:armhf (8c-2ubuntu11) ... 176s Setting up automake (1:1.18.1-3build1) ... 176s update-alternatives: using /usr/bin/automake-1.18 to provide /usr/bin/automake (automake) in auto mode 176s Setting up libfile-stripnondeterminism-perl (1.15.0-1build1) ... 176s Setting up gettext (0.23.2-1) ... 176s Setting up libgcc-15-dev:armhf (15.2.0-11ubuntu1) ... 176s Setting up gcc-15-arm-linux-gnueabihf (15.2.0-11ubuntu1) ... 176s Setting up python3.13 (3.13.11-1) ... 178s Setting up pybuild-plugin-pyproject (7.20251231) ... 178s Setting up python3-pytest (9.0.2-2) ... 179s Setting up libavahi-common3:armhf (0.8-17ubuntu1) ... 179s Setting up python3-all (3.14.2-1) ... 179s Setting up libappstream5:armhf (1.0.6-2) ... 179s Setting up intltool-debian (0.35.0+20060710.6build1) ... 179s Setting up fuse3 (3.18.1-1) ... 179s Removing 'diversion of /bin/fusermount to /bin/fusermount.usr-is-merged by fuse3' 179s Removing 'diversion of /sbin/mount.fuse to /sbin/mount.fuse.usr-is-merged by fuse3' 179s update-initramfs: deferring update (trigger activated) 179s Setting up dh-strip-nondeterminism (1.15.0-1build1) ... 179s Setting up cpp-15 (15.2.0-11ubuntu1) ... 179s Setting up libtiff6:armhf (4.7.0-3ubuntu3) ... 179s Setting up cpp (4:15.2.0-4ubuntu1) ... 179s Setting up libc6-dev:armhf (2.42-2ubuntu4) ... 179s Setting up libgdk-pixbuf-2.0-0:armhf (2.44.4+dfsg-1) ... 179s Setting up libavahi-glib1:armhf (0.8-17ubuntu1) ... 179s Setting up libavahi-client3:armhf (0.8-17ubuntu1) ... 179s Setting up gcc-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 179s Setting up po-debconf (1.0.22) ... 179s Setting up libostree-1-1:armhf (2025.7-1) ... 179s Setting up ostree (2025.7-1) ... 179s Setting up gcc-15 (15.2.0-11ubuntu1) ... 179s Setting up libstdc++-15-dev:armhf (15.2.0-11ubuntu1) ... 179s Setting up gir1.2-ostree-1.0:armhf (2025.7-1) ... 179s Setting up flatpak (1.16.2-1) ... 179s Setting up ostree-push (1.2.0-1) ... 180s Setting up libtool (2.5.4-9) ... 180s Setting up g++-15-arm-linux-gnueabihf (15.2.0-11ubuntu1) ... 180s Setting up gcc (4:15.2.0-4ubuntu1) ... 180s Setting up dh-autoreconf (21) ... 180s Setting up g++-15 (15.2.0-11ubuntu1) ... 180s Setting up g++-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 180s Setting up debhelper (13.28ubuntu1) ... 180s Setting up g++ (4:15.2.0-4ubuntu1) ... 180s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 180s Setting up build-essential (12.12ubuntu2) ... 180s Setting up pybuild-plugin-autopkgtest (7.20251231) ... 180s Processing triggers for man-db (2.13.1-1) ... 182s Processing triggers for dbus (1.16.2-2ubuntu2) ... 182s Processing triggers for procps (2:4.0.4-9ubuntu1) ... 182s Processing triggers for install-info (7.2-5) ... 182s Processing triggers for initramfs-tools (0.150ubuntu7) ... 182s Processing triggers for libc-bin (2.42-2ubuntu4) ... 182s Processing triggers for systemd (259-1ubuntu2) ... 192s autopkgtest [19:26:09]: test pybuild-autopkgtest: pybuild-autopkgtest 192s autopkgtest [19:26:09]: test pybuild-autopkgtest: [----------------------- 195s ln -sr tests/ostree-receive tests/ostree-receive-0 195s ln -sr tests/ostree-receive tests/ostree-receive-1 195s pybuild-autopkgtest 195s I: pybuild base:384: cd /tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build; python3.13 -m pytest tests 197s ============================= test session starts ============================== 197s platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0 197s rootdir: /tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build 197s plugins: typeguard-4.4.4 197s collected 99 items 197s 204s tests/test_full.py FFFFFF [ 6%] 213s tests/test_push.py ................................. [ 39%] 219s tests/test_receive.py ...........ss...s................................. [ 89%] 219s . [ 90%] 221s tests/test_receive_legacy.py .. [ 92%] 222s tests/test_receive_shell.py .....s [ 98%] 223s tests/test_sshd.py . [100%] 223s 223s =================================== FAILURES =================================== 223s _______________________________ test_no_commits ________________________________ 223s 223s source_repo = 223s dest_repo = 223s sshd = SSHServerInfo(proc=, address='127.0.0.1', port=33216) 223s ssh_options = ['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', ...] 223s cli_env_vars = {'PATH': '/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:...ild.McQ/src/debian/python3-ostree-push/usr/lib/python3.13/dist-packages:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build'} 223s receive_config_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_no_commits0/ostree-receive.conf') 223s capfd = <_pytest.capture.CaptureFixture object at 0xf3a4e538> 223s 223s def test_no_commits(source_repo, dest_repo, sshd, ssh_options, 223s cli_env_vars, receive_config_path, capfd): 223s """Test push with no commits in source repo""" 223s args = ( 223s source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 223s receive_config_path 223s ) 223s 223s > run_push(*args) 223s 223s tests/test_full.py:54: 223s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 223s tests/test_full.py:43: in run_push 223s return subprocess.run(cmd, **popen_kwargs) 223s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 223s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 223s 223s input = None, capture_output = False, timeout = None, check = True 223s 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', ...],) 223s kwargs = {'env': {'ADTTMP': '/tmp/autopkgtest.vr0SpO/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.vr0SpO/pybuild-autopk...': 'python3-defaults/3.14.2-1', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.vr0SpO/pybuild-autopkgtest-artifacts', ...}} 223s process = 223s stdout = None, stderr = None, retcode = 1 223s 223s def run(*popenargs, 223s input=None, capture_output=False, timeout=None, check=False, **kwargs): 223s """Run command with arguments and return a CompletedProcess instance. 223s 223s The returned instance will have attributes args, returncode, stdout and 223s stderr. By default, stdout and stderr are not captured, and those attributes 223s will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, 223s or pass capture_output=True to capture both. 223s 223s If check is True and the exit code was non-zero, it raises a 223s CalledProcessError. The CalledProcessError object will have the return code 223s in the returncode attribute, and output & stderr attributes if those streams 223s were captured. 223s 223s If timeout (seconds) is given and the process takes too long, 223s a TimeoutExpired exception will be raised. 223s 223s There is an optional argument "input", allowing you to 223s pass bytes or a string to the subprocess's stdin. If you use this argument 223s you may not also use the Popen constructor's "stdin" argument, as 223s it will be used internally. 223s 223s By default, all communication is in bytes, and therefore any "input" should 223s be bytes, and the stdout and stderr will be bytes. If in text mode, any 223s "input" should be a string, and stdout and stderr will be strings decoded 223s according to locale encoding, or by "encoding" if set. Text mode is 223s triggered by setting any of text, encoding, errors or universal_newlines. 223s 223s The other arguments are the same as for the Popen constructor. 223s """ 223s if input is not None: 223s if kwargs.get('stdin') is not None: 223s raise ValueError('stdin and input arguments may not both be used.') 223s kwargs['stdin'] = PIPE 223s 223s if capture_output: 223s if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: 223s raise ValueError('stdout and stderr arguments may not be used ' 223s 'with capture_output.') 223s kwargs['stdout'] = PIPE 223s kwargs['stderr'] = PIPE 223s 223s with Popen(*popenargs, **kwargs) as process: 223s try: 223s stdout, stderr = process.communicate(input, timeout=timeout) 223s except TimeoutExpired as exc: 223s process.kill() 223s if _mswindows: 223s # Windows accumulates the output in a single blocking 223s # read() call run on child threads, with the timeout 223s # being done in a join() on those threads. communicate() 223s # _after_ kill() is required to collect that and add it 223s # to the exception. 223s exc.stdout, exc.stderr = process.communicate() 223s else: 223s # POSIX _communicate already populated the output so 223s # far into the TimeoutExpired exception. 223s process.wait() 223s raise 223s except: # Including KeyboardInterrupt, communicate handled that. 223s process.kill() 223s # We don't call process.wait() as .__exit__ does that for us. 223s raise 223s retcode = process.poll() 223s if check and retcode: 223s > raise CalledProcessError(retcode, process.args, 223s output=stdout, stderr=stderr) 223s 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:33216//tmp/pytest-of-ubuntu/pytest-0/test_no_commits0/dest-repo']' returned non-zero exit status 1. 223s 223s /usr/lib/python3.13/subprocess.py:577: CalledProcessError 223s ---------------------------- Captured stderr setup ----------------------------- 223s Server listening on 127.0.0.1 port 33216. 223s Connection closed by 127.0.0.1 port 47254 223s ----------------------------- Captured stderr call ----------------------------- 223s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build:/tmp/autopkgtest.vr0SpO/build.McQ/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 223s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.vr0SpO/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:33216//tmp/pytest-of-ubuntu/pytest-0/test_no_commits0/dest-repo'] 223s 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' 223s 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' 223s 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' 223s 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' 223s DEBUG:otpush.push:/tmp/pytest-of-ubuntu/pytest-0/test_no_commits0/source-repo/summary does not exist, regenerating 223s INFO:otpush.push:Regenerating summary file 223s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build:/tmp/autopkgtest.vr0SpO/build.McQ/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 223s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests/ostree-push'] 223s usage: ostree-push [-h] [-n] [-p PORT] [-q] [-v] [--repo REPO] 223s [--command COMMAND] [-i OPTION] [--version] 223s DEST [REF ...] 223s ostree-push: error: the following arguments are required: DEST 223s Traceback (most recent call last): 223s File "/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests/ostree-push", line 14, in 223s push.main() 223s ~~~~~~~~~^^ 223s File "/usr/lib/python3/dist-packages/otpush/push.py", line 574, in main 223s push_refs( 223s ~~~~~~~~~^ 223s repo, 223s ^^^^^ 223s ...<4 lines>... 223s dry_run=args.dry_run, 223s ^^^^^^^^^^^^^^^^^^^^^ 223s ) 223s ^ 223s File "/usr/lib/python3/dist-packages/otpush/push.py", line 349, in push_refs 223s with RepoServer(local_repo_path) as http_server: 223s ~~~~~~~~~~^^^^^^^^^^^^^^^^^ 223s File "/usr/lib/python3/dist-packages/otpush/push.py", line 114, in __enter__ 223s self.start() 223s ~~~~~~~~~~^^ 223s File "/usr/lib/python3/dist-packages/otpush/push.py", line 141, in start 223s self.proc.start() 223s ~~~~~~~~~~~~~~~^^ 223s File "/usr/lib/python3.14/multiprocessing/process.py", line 121, in start 223s self._popen = self._Popen(self) 223s ~~~~~~~~~~~^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/context.py", line 224, in _Popen 223s return _default_context.get_context().Process._Popen(process_obj) 223s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/context.py", line 300, in _Popen 223s return Popen(process_obj) 223s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 35, in __init__ 223s super().__init__(process_obj) 223s ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/popen_fork.py", line 20, in __init__ 223s self._launch(process_obj) 223s ~~~~~~~~~~~~^^^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 51, in _launch 223s self.sentinel, w = forkserver.connect_to_new_process(self._fds) 223s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/forkserver.py", line 106, in connect_to_new_process 223s connection.answer_challenge( 223s ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 223s wrapped_client, self._forkserver_authkey) 223s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/connection.py", line 970, in answer_challenge 223s message = connection.recv_bytes(256) # reject large message 223s File "/usr/lib/python3.14/multiprocessing/connection.py", line 222, in recv_bytes 223s buf = self._recv_bytes(maxlength) 223s File "/usr/lib/python3.14/multiprocessing/connection.py", line 447, in _recv_bytes 223s buf = self._recv(4) 223s File "/usr/lib/python3.14/multiprocessing/connection.py", line 412, in _recv 223s chunk = read(handle, to_read) 223s ConnectionResetError: [Errno 104] Connection reset by peer 223s __________________________________ test_basic __________________________________ 223s 223s source_repo = 223s dest_repo = 223s sshd = SSHServerInfo(proc=, address='127.0.0.1', port=33216) 223s ssh_options = ['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', ...] 223s cli_env_vars = {'PATH': '/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:...ild.McQ/src/debian/python3-ostree-push/usr/lib/python3.13/dist-packages:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build'} 223s receive_config_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_basic0/ostree-receive.conf') 223s tmp_files_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_basic0/files') 223s capfd = <_pytest.capture.CaptureFixture object at 0xf39a9710> 223s 223s def test_basic(source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 223s receive_config_path, tmp_files_path, capfd): 223s """Test push with one commit in source repo""" 223s args = ( 223s source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 223s receive_config_path 223s ) 223s 223s rev = random_commit(source_repo, tmp_files_path, 'test') 223s source_content = get_content_checksum(source_repo, rev) 223s 223s wipe_repo(dest_repo) 223s > run_push(*args) 223s 223s tests/test_full.py:79: 223s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 223s tests/test_full.py:43: in run_push 223s return subprocess.run(cmd, **popen_kwargs) 223s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 223s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 223s 223s input = None, capture_output = False, timeout = None, check = True 223s 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', ...],) 223s kwargs = {'env': {'ADTTMP': '/tmp/autopkgtest.vr0SpO/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.vr0SpO/pybuild-autopk...': 'python3-defaults/3.14.2-1', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.vr0SpO/pybuild-autopkgtest-artifacts', ...}} 223s process = 223s stdout = None, stderr = None, retcode = 1 223s 223s def run(*popenargs, 223s input=None, capture_output=False, timeout=None, check=False, **kwargs): 223s """Run command with arguments and return a CompletedProcess instance. 223s 223s The returned instance will have attributes args, returncode, stdout and 223s stderr. By default, stdout and stderr are not captured, and those attributes 223s will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, 223s or pass capture_output=True to capture both. 223s 223s If check is True and the exit code was non-zero, it raises a 223s CalledProcessError. The CalledProcessError object will have the return code 223s in the returncode attribute, and output & stderr attributes if those streams 223s were captured. 223s 223s If timeout (seconds) is given and the process takes too long, 223s a TimeoutExpired exception will be raised. 223s 223s There is an optional argument "input", allowing you to 223s pass bytes or a string to the subprocess's stdin. If you use this argument 223s you may not also use the Popen constructor's "stdin" argument, as 223s it will be used internally. 223s 223s By default, all communication is in bytes, and therefore any "input" should 223s be bytes, and the stdout and stderr will be bytes. If in text mode, any 223s "input" should be a string, and stdout and stderr will be strings decoded 223s according to locale encoding, or by "encoding" if set. Text mode is 223s triggered by setting any of text, encoding, errors or universal_newlines. 223s 223s The other arguments are the same as for the Popen constructor. 223s """ 223s if input is not None: 223s if kwargs.get('stdin') is not None: 223s raise ValueError('stdin and input arguments may not both be used.') 223s kwargs['stdin'] = PIPE 223s 223s if capture_output: 223s if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: 223s raise ValueError('stdout and stderr arguments may not be used ' 223s 'with capture_output.') 223s kwargs['stdout'] = PIPE 223s kwargs['stderr'] = PIPE 223s 223s with Popen(*popenargs, **kwargs) as process: 223s try: 223s stdout, stderr = process.communicate(input, timeout=timeout) 223s except TimeoutExpired as exc: 223s process.kill() 223s if _mswindows: 223s # Windows accumulates the output in a single blocking 223s # read() call run on child threads, with the timeout 223s # being done in a join() on those threads. communicate() 223s # _after_ kill() is required to collect that and add it 223s # to the exception. 223s exc.stdout, exc.stderr = process.communicate() 223s else: 223s # POSIX _communicate already populated the output so 223s # far into the TimeoutExpired exception. 223s process.wait() 223s raise 223s except: # Including KeyboardInterrupt, communicate handled that. 223s process.kill() 223s # We don't call process.wait() as .__exit__ does that for us. 223s raise 223s retcode = process.poll() 223s if check and retcode: 223s > raise CalledProcessError(retcode, process.args, 223s output=stdout, stderr=stderr) 223s 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:33216//tmp/pytest-of-ubuntu/pytest-0/test_basic0/dest-repo']' returned non-zero exit status 1. 223s 223s /usr/lib/python3.13/subprocess.py:577: CalledProcessError 223s ----------------------------- Captured stderr call ----------------------------- 223s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build:/tmp/autopkgtest.vr0SpO/build.McQ/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 223s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.vr0SpO/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:33216//tmp/pytest-of-ubuntu/pytest-0/test_basic0/dest-repo'] 223s 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' 223s 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' 223s 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' 223s 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' 223s 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 223s INFO:otpush.push:Regenerating summary file 223s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build:/tmp/autopkgtest.vr0SpO/build.McQ/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 223s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests/ostree-push'] 223s usage: ostree-push [-h] [-n] [-p PORT] [-q] [-v] [--repo REPO] 223s [--command COMMAND] [-i OPTION] [--version] 223s DEST [REF ...] 223s ostree-push: error: the following arguments are required: DEST 223s Traceback (most recent call last): 223s File "/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests/ostree-push", line 14, in 223s push.main() 223s ~~~~~~~~~^^ 223s File "/usr/lib/python3/dist-packages/otpush/push.py", line 574, in main 223s push_refs( 223s ~~~~~~~~~^ 223s repo, 223s ^^^^^ 223s ...<4 lines>... 223s dry_run=args.dry_run, 223s ^^^^^^^^^^^^^^^^^^^^^ 223s ) 223s ^ 223s File "/usr/lib/python3/dist-packages/otpush/push.py", line 349, in push_refs 223s with RepoServer(local_repo_path) as http_server: 223s ~~~~~~~~~~^^^^^^^^^^^^^^^^^ 223s File "/usr/lib/python3/dist-packages/otpush/push.py", line 114, in __enter__ 223s self.start() 223s ~~~~~~~~~~^^ 223s File "/usr/lib/python3/dist-packages/otpush/push.py", line 141, in start 223s self.proc.start() 223s ~~~~~~~~~~~~~~~^^ 223s File "/usr/lib/python3.14/multiprocessing/process.py", line 121, in start 223s self._popen = self._Popen(self) 223s ~~~~~~~~~~~^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/context.py", line 224, in _Popen 223s return _default_context.get_context().Process._Popen(process_obj) 223s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/context.py", line 300, in _Popen 223s return Popen(process_obj) 223s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 35, in __init__ 223s super().__init__(process_obj) 223s ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/popen_fork.py", line 20, in __init__ 223s self._launch(process_obj) 223s ~~~~~~~~~~~~^^^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 51, in _launch 223s self.sentinel, w = forkserver.connect_to_new_process(self._fds) 223s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/forkserver.py", line 106, in connect_to_new_process 223s connection.answer_challenge( 223s ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 223s wrapped_client, self._forkserver_authkey) 223s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/connection.py", line 970, in answer_challenge 223s message = connection.recv_bytes(256) # reject large message 223s File "/usr/lib/python3.14/multiprocessing/connection.py", line 222, in recv_bytes 223s buf = self._recv_bytes(maxlength) 223s File "/usr/lib/python3.14/multiprocessing/connection.py", line 447, in _recv_bytes 223s buf = self._recv(4) 223s File "/usr/lib/python3.14/multiprocessing/connection.py", line 412, in _recv 223s chunk = read(handle, to_read) 223s ConnectionResetError: [Errno 104] Connection reset by peer 223s _________________________________ test_dry_run _________________________________ 223s 223s source_repo = 223s dest_repo = 223s sshd = SSHServerInfo(proc=, address='127.0.0.1', port=33216) 223s ssh_options = ['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', ...] 223s cli_env_vars = {'PATH': '/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:...ild.McQ/src/debian/python3-ostree-push/usr/lib/python3.13/dist-packages:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build'} 223s receive_config_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_dry_run0/ostree-receive.conf') 223s tmp_files_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_dry_run0/files') 223s 223s def test_dry_run(source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 223s receive_config_path, tmp_files_path): 223s """Test push dry run""" 223s args = ( 223s source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 223s receive_config_path 223s ) 223s 223s random_commit(source_repo, tmp_files_path, 'test') 223s 223s wipe_repo(dest_repo) 223s > run_push(*args, options=['-n']) 223s 223s tests/test_full.py:114: 223s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 223s tests/test_full.py:43: in run_push 223s return subprocess.run(cmd, **popen_kwargs) 223s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 223s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 223s 223s input = None, capture_output = False, timeout = None, check = True 223s 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', ...],) 223s kwargs = {'env': {'ADTTMP': '/tmp/autopkgtest.vr0SpO/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.vr0SpO/pybuild-autopk...': 'python3-defaults/3.14.2-1', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.vr0SpO/pybuild-autopkgtest-artifacts', ...}} 223s process = 223s stdout = None, stderr = None, retcode = 1 223s 223s def run(*popenargs, 223s input=None, capture_output=False, timeout=None, check=False, **kwargs): 223s """Run command with arguments and return a CompletedProcess instance. 223s 223s The returned instance will have attributes args, returncode, stdout and 223s stderr. By default, stdout and stderr are not captured, and those attributes 223s will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, 223s or pass capture_output=True to capture both. 223s 223s If check is True and the exit code was non-zero, it raises a 223s CalledProcessError. The CalledProcessError object will have the return code 223s in the returncode attribute, and output & stderr attributes if those streams 223s were captured. 223s 223s If timeout (seconds) is given and the process takes too long, 223s a TimeoutExpired exception will be raised. 223s 223s There is an optional argument "input", allowing you to 223s pass bytes or a string to the subprocess's stdin. If you use this argument 223s you may not also use the Popen constructor's "stdin" argument, as 223s it will be used internally. 223s 223s By default, all communication is in bytes, and therefore any "input" should 223s be bytes, and the stdout and stderr will be bytes. If in text mode, any 223s "input" should be a string, and stdout and stderr will be strings decoded 223s according to locale encoding, or by "encoding" if set. Text mode is 223s triggered by setting any of text, encoding, errors or universal_newlines. 223s 223s The other arguments are the same as for the Popen constructor. 223s """ 223s if input is not None: 223s if kwargs.get('stdin') is not None: 223s raise ValueError('stdin and input arguments may not both be used.') 223s kwargs['stdin'] = PIPE 223s 223s if capture_output: 223s if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: 223s raise ValueError('stdout and stderr arguments may not be used ' 223s 'with capture_output.') 223s kwargs['stdout'] = PIPE 223s kwargs['stderr'] = PIPE 223s 223s with Popen(*popenargs, **kwargs) as process: 223s try: 223s stdout, stderr = process.communicate(input, timeout=timeout) 223s except TimeoutExpired as exc: 223s process.kill() 223s if _mswindows: 223s # Windows accumulates the output in a single blocking 223s # read() call run on child threads, with the timeout 223s # being done in a join() on those threads. communicate() 223s # _after_ kill() is required to collect that and add it 223s # to the exception. 223s exc.stdout, exc.stderr = process.communicate() 223s else: 223s # POSIX _communicate already populated the output so 223s # far into the TimeoutExpired exception. 223s process.wait() 223s raise 223s except: # Including KeyboardInterrupt, communicate handled that. 223s process.kill() 223s # We don't call process.wait() as .__exit__ does that for us. 223s raise 223s retcode = process.poll() 223s if check and retcode: 223s > raise CalledProcessError(retcode, process.args, 223s output=stdout, stderr=stderr) 223s 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:33216//tmp/pytest-of-ubuntu/pytest-0/test_dry_run0/dest-repo']' returned non-zero exit status 1. 223s 223s /usr/lib/python3.13/subprocess.py:577: CalledProcessError 223s ----------------------------- Captured stderr call ----------------------------- 223s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build:/tmp/autopkgtest.vr0SpO/build.McQ/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 223s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.vr0SpO/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:33216//tmp/pytest-of-ubuntu/pytest-0/test_dry_run0/dest-repo'] 223s 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' 223s 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' 223s 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' 223s 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' 223s 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 223s INFO:otpush.push:Regenerating summary file 223s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build:/tmp/autopkgtest.vr0SpO/build.McQ/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 223s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests/ostree-push'] 223s usage: ostree-push [-h] [-n] [-p PORT] [-q] [-v] [--repo REPO] 223s [--command COMMAND] [-i OPTION] [--version] 223s DEST [REF ...] 223s ostree-push: error: the following arguments are required: DEST 223s Traceback (most recent call last): 223s File "/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests/ostree-push", line 14, in 223s push.main() 223s ~~~~~~~~~^^ 223s File "/usr/lib/python3/dist-packages/otpush/push.py", line 574, in main 223s push_refs( 223s ~~~~~~~~~^ 223s repo, 223s ^^^^^ 223s ...<4 lines>... 223s dry_run=args.dry_run, 223s ^^^^^^^^^^^^^^^^^^^^^ 223s ) 223s ^ 223s File "/usr/lib/python3/dist-packages/otpush/push.py", line 349, in push_refs 223s with RepoServer(local_repo_path) as http_server: 223s ~~~~~~~~~~^^^^^^^^^^^^^^^^^ 223s File "/usr/lib/python3/dist-packages/otpush/push.py", line 114, in __enter__ 223s self.start() 223s ~~~~~~~~~~^^ 223s File "/usr/lib/python3/dist-packages/otpush/push.py", line 141, in start 223s self.proc.start() 223s ~~~~~~~~~~~~~~~^^ 223s File "/usr/lib/python3.14/multiprocessing/process.py", line 121, in start 223s self._popen = self._Popen(self) 223s ~~~~~~~~~~~^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/context.py", line 224, in _Popen 223s return _default_context.get_context().Process._Popen(process_obj) 223s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/context.py", line 300, in _Popen 223s return Popen(process_obj) 223s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 35, in __init__ 223s super().__init__(process_obj) 223s ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/popen_fork.py", line 20, in __init__ 223s self._launch(process_obj) 223s ~~~~~~~~~~~~^^^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 51, in _launch 223s self.sentinel, w = forkserver.connect_to_new_process(self._fds) 223s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/forkserver.py", line 106, in connect_to_new_process 223s connection.answer_challenge( 223s ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 223s wrapped_client, self._forkserver_authkey) 223s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/connection.py", line 970, in answer_challenge 223s message = connection.recv_bytes(256) # reject large message 223s File "/usr/lib/python3.14/multiprocessing/connection.py", line 222, in recv_bytes 223s buf = self._recv_bytes(maxlength) 223s File "/usr/lib/python3.14/multiprocessing/connection.py", line 447, in _recv_bytes 223s buf = self._recv(4) 223s File "/usr/lib/python3.14/multiprocessing/connection.py", line 412, in _recv 223s chunk = read(handle, to_read) 223s ConnectionResetError: [Errno 104] Connection reset by peer 223s ________________________________ test_scp_dest _________________________________ 223s 223s source_repo = 223s dest_repo = 223s sshd = SSHServerInfo(proc=, address='127.0.0.1', port=33216) 223s ssh_options = ['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', ...] 223s cli_env_vars = {'PATH': '/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:...ild.McQ/src/debian/python3-ostree-push/usr/lib/python3.13/dist-packages:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build'} 223s receive_config_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_scp_dest0/ostree-receive.conf') 223s tmp_files_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_scp_dest0/files') 223s 223s def test_scp_dest(source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 223s receive_config_path, tmp_files_path): 223s """Test push with scp style destination""" 223s args = ( 223s source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 223s receive_config_path 223s ) 223s dest = f'{sshd.address}:{dest_repo.path}' 223s options = ['-p', str(sshd.port)] 223s 223s random_commit(source_repo, tmp_files_path, 'test') 223s > run_push(*args, dest=dest, options=options) 223s 223s tests/test_full.py:140: 223s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 223s tests/test_full.py:43: in run_push 223s return subprocess.run(cmd, **popen_kwargs) 223s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 223s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 223s 223s input = None, capture_output = False, timeout = None, check = True 223s 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', ...],) 223s kwargs = {'env': {'ADTTMP': '/tmp/autopkgtest.vr0SpO/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.vr0SpO/pybuild-autopk...': 'python3-defaults/3.14.2-1', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.vr0SpO/pybuild-autopkgtest-artifacts', ...}} 223s process = 223s stdout = None, stderr = None, retcode = 1 223s 223s def run(*popenargs, 223s input=None, capture_output=False, timeout=None, check=False, **kwargs): 223s """Run command with arguments and return a CompletedProcess instance. 223s 223s The returned instance will have attributes args, returncode, stdout and 223s stderr. By default, stdout and stderr are not captured, and those attributes 223s will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, 223s or pass capture_output=True to capture both. 223s 223s If check is True and the exit code was non-zero, it raises a 223s CalledProcessError. The CalledProcessError object will have the return code 223s in the returncode attribute, and output & stderr attributes if those streams 223s were captured. 223s 223s If timeout (seconds) is given and the process takes too long, 223s a TimeoutExpired exception will be raised. 223s 223s There is an optional argument "input", allowing you to 223s pass bytes or a string to the subprocess's stdin. If you use this argument 223s you may not also use the Popen constructor's "stdin" argument, as 223s it will be used internally. 223s 223s By default, all communication is in bytes, and therefore any "input" should 223s be bytes, and the stdout and stderr will be bytes. If in text mode, any 223s "input" should be a string, and stdout and stderr will be strings decoded 223s according to locale encoding, or by "encoding" if set. Text mode is 223s triggered by setting any of text, encoding, errors or universal_newlines. 223s 223s The other arguments are the same as for the Popen constructor. 223s """ 223s if input is not None: 223s if kwargs.get('stdin') is not None: 223s raise ValueError('stdin and input arguments may not both be used.') 223s kwargs['stdin'] = PIPE 223s 223s if capture_output: 223s if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: 223s raise ValueError('stdout and stderr arguments may not be used ' 223s 'with capture_output.') 223s kwargs['stdout'] = PIPE 223s kwargs['stderr'] = PIPE 223s 223s with Popen(*popenargs, **kwargs) as process: 223s try: 223s stdout, stderr = process.communicate(input, timeout=timeout) 223s except TimeoutExpired as exc: 223s process.kill() 223s if _mswindows: 223s # Windows accumulates the output in a single blocking 223s # read() call run on child threads, with the timeout 223s # being done in a join() on those threads. communicate() 223s # _after_ kill() is required to collect that and add it 223s # to the exception. 223s exc.stdout, exc.stderr = process.communicate() 223s else: 223s # POSIX _communicate already populated the output so 223s # far into the TimeoutExpired exception. 223s process.wait() 223s raise 223s except: # Including KeyboardInterrupt, communicate handled that. 223s process.kill() 223s # We don't call process.wait() as .__exit__ does that for us. 223s raise 223s retcode = process.poll() 223s if check and retcode: 223s > raise CalledProcessError(retcode, process.args, 223s output=stdout, stderr=stderr) 223s 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', '33216', '127.0.0.1:/tmp/pytest-of-ubuntu/pytest-0/test_scp_dest0/dest-repo']' returned non-zero exit status 1. 223s 223s /usr/lib/python3.13/subprocess.py:577: CalledProcessError 223s ----------------------------- Captured stderr call ----------------------------- 223s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build:/tmp/autopkgtest.vr0SpO/build.McQ/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 223s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.vr0SpO/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', '33216', '127.0.0.1:/tmp/pytest-of-ubuntu/pytest-0/test_scp_dest0/dest-repo'] 223s 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' 223s 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' 223s 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' 223s 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' 223s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build:/tmp/autopkgtest.vr0SpO/build.McQ/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 223s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests/ostree-push'] 223s usage: ostree-push [-h] [-n] [-p PORT] [-q] [-v] [--repo REPO] 223s [--command COMMAND] [-i OPTION] [--version] 223s DEST [REF ...] 223s ostree-push: error: the following arguments are required: DEST 223s Traceback (most recent call last): 223s File "/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests/ostree-push", line 14, in 223s push.main() 223s ~~~~~~~~~^^ 223s File "/usr/lib/python3/dist-packages/otpush/push.py", line 574, in main 223s push_refs( 223s ~~~~~~~~~^ 223s repo, 223s ^^^^^ 223s ...<4 lines>... 223s dry_run=args.dry_run, 223s ^^^^^^^^^^^^^^^^^^^^^ 223s ) 223s ^ 223s File "/usr/lib/python3/dist-packages/otpush/push.py", line 349, in push_refs 223s with RepoServer(local_repo_path) as http_server: 223s ~~~~~~~~~~^^^^^^^^^^^^^^^^^ 223s File "/usr/lib/python3/dist-packages/otpush/push.py", line 114, in __enter__ 223s self.start() 223s ~~~~~~~~~~^^ 223s File "/usr/lib/python3/dist-packages/otpush/push.py", line 141, in start 223s self.proc.start() 223s ~~~~~~~~~~~~~~~^^ 223s File "/usr/lib/python3.14/multiprocessing/process.py", line 121, in start 223s self._popen = self._Popen(self) 223s ~~~~~~~~~~~^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/context.py", line 224, in _Popen 223s return _default_context.get_context().Process._Popen(process_obj) 223s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/context.py", line 300, in _Popen 223s return Popen(process_obj) 223s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 35, in __init__ 223s super().__init__(process_obj) 223s ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/popen_fork.py", line 20, in __init__ 223s self._launch(process_obj) 223s ~~~~~~~~~~~~^^^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 51, in _launch 223s self.sentinel, w = forkserver.connect_to_new_process(self._fds) 223s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/forkserver.py", line 106, in connect_to_new_process 223s connection.answer_challenge( 223s ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 223s wrapped_client, self._forkserver_authkey) 223s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/connection.py", line 970, in answer_challenge 223s message = connection.recv_bytes(256) # reject large message 223s File "/usr/lib/python3.14/multiprocessing/connection.py", line 222, in recv_bytes 223s buf = self._recv_bytes(maxlength) 223s File "/usr/lib/python3.14/multiprocessing/connection.py", line 447, in _recv_bytes 223s buf = self._recv(4) 223s File "/usr/lib/python3.14/multiprocessing/connection.py", line 412, in _recv 223s chunk = read(handle, to_read) 223s ConnectionResetError: [Errno 104] Connection reset by peer 223s _____________________________ test_command_abspath _____________________________ 223s 223s source_repo = 223s dest_repo = 223s sshd = SSHServerInfo(proc=, address='127.0.0.1', port=33216) 223s ssh_options = ['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', ...] 223s cli_env_vars = {'PATH': '/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:...ild.McQ/src/debian/python3-ostree-push/usr/lib/python3.13/dist-packages:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build'} 223s receive_config_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_command_abspath0/ostree-receive.conf') 223s tmp_files_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_command_abspath0/files') 223s 223s def test_command_abspath(source_repo, dest_repo, sshd, ssh_options, 223s cli_env_vars, receive_config_path, tmp_files_path): 223s """Test push with absolute path to ostree-receive""" 223s args = ( 223s source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 223s receive_config_path 223s ) 223s random_commit(source_repo, tmp_files_path, 'test') 223s > run_push(*args, command=ostree_receive_abspath) 223s 223s tests/test_full.py:153: 223s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 223s tests/test_full.py:43: in run_push 223s return subprocess.run(cmd, **popen_kwargs) 223s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 223s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 223s 223s input = None, capture_output = False, timeout = None, check = True 223s popenargs = (['ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-0/test_command_abspath0/source-repo', '--command=/tmp/autopkgtes...pO/autopkgtest_tmp/build/tests/ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', ...],) 223s kwargs = {'env': {'ADTTMP': '/tmp/autopkgtest.vr0SpO/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.vr0SpO/pybuild-autopk...': 'python3-defaults/3.14.2-1', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.vr0SpO/pybuild-autopkgtest-artifacts', ...}} 223s process = 223s stdout = None, stderr = None, retcode = 1 223s 223s def run(*popenargs, 223s input=None, capture_output=False, timeout=None, check=False, **kwargs): 223s """Run command with arguments and return a CompletedProcess instance. 223s 223s The returned instance will have attributes args, returncode, stdout and 223s stderr. By default, stdout and stderr are not captured, and those attributes 223s will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, 223s or pass capture_output=True to capture both. 223s 223s If check is True and the exit code was non-zero, it raises a 223s CalledProcessError. The CalledProcessError object will have the return code 223s in the returncode attribute, and output & stderr attributes if those streams 223s were captured. 223s 223s If timeout (seconds) is given and the process takes too long, 223s a TimeoutExpired exception will be raised. 223s 223s There is an optional argument "input", allowing you to 223s pass bytes or a string to the subprocess's stdin. If you use this argument 223s you may not also use the Popen constructor's "stdin" argument, as 223s it will be used internally. 223s 223s By default, all communication is in bytes, and therefore any "input" should 223s be bytes, and the stdout and stderr will be bytes. If in text mode, any 223s "input" should be a string, and stdout and stderr will be strings decoded 223s according to locale encoding, or by "encoding" if set. Text mode is 223s triggered by setting any of text, encoding, errors or universal_newlines. 223s 223s The other arguments are the same as for the Popen constructor. 223s """ 223s if input is not None: 223s if kwargs.get('stdin') is not None: 223s raise ValueError('stdin and input arguments may not both be used.') 223s kwargs['stdin'] = PIPE 223s 223s if capture_output: 223s if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: 223s raise ValueError('stdout and stderr arguments may not be used ' 223s 'with capture_output.') 223s kwargs['stdout'] = PIPE 223s kwargs['stderr'] = PIPE 223s 223s with Popen(*popenargs, **kwargs) as process: 223s try: 223s stdout, stderr = process.communicate(input, timeout=timeout) 223s except TimeoutExpired as exc: 223s process.kill() 223s if _mswindows: 223s # Windows accumulates the output in a single blocking 223s # read() call run on child threads, with the timeout 223s # being done in a join() on those threads. communicate() 223s # _after_ kill() is required to collect that and add it 223s # to the exception. 223s exc.stdout, exc.stderr = process.communicate() 223s else: 223s # POSIX _communicate already populated the output so 223s # far into the TimeoutExpired exception. 223s process.wait() 223s raise 223s except: # Including KeyboardInterrupt, communicate handled that. 223s process.kill() 223s # We don't call process.wait() as .__exit__ does that for us. 223s raise 223s retcode = process.poll() 223s if check and retcode: 223s > raise CalledProcessError(retcode, process.args, 223s output=stdout, stderr=stderr) 223s E subprocess.CalledProcessError: Command '['ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-0/test_command_abspath0/source-repo', '--command=/tmp/autopkgtest.vr0SpO/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:33216//tmp/pytest-of-ubuntu/pytest-0/test_command_abspath0/dest-repo']' returned non-zero exit status 1. 223s 223s /usr/lib/python3.13/subprocess.py:577: CalledProcessError 223s ----------------------------- Captured stderr call ----------------------------- 223s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build:/tmp/autopkgtest.vr0SpO/build.McQ/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 223s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests/ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-0/test_command_abspath0/source-repo', '--command=/tmp/autopkgtest.vr0SpO/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:33216//tmp/pytest-of-ubuntu/pytest-0/test_command_abspath0/dest-repo'] 223s 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.vr0SpO/autopkgtest_tmp/build/tests/ostree-receive-1'], ssh_options=[]), '-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa' 223s 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.vr0SpO/autopkgtest_tmp/build/tests/ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa']), '-o', 'IdentitiesOnly=yes' 223s 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.vr0SpO/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' 223s 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.vr0SpO/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' 223s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build:/tmp/autopkgtest.vr0SpO/build.McQ/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 223s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests/ostree-push'] 223s usage: ostree-push [-h] [-n] [-p PORT] [-q] [-v] [--repo REPO] 223s [--command COMMAND] [-i OPTION] [--version] 223s DEST [REF ...] 223s ostree-push: error: the following arguments are required: DEST 223s Traceback (most recent call last): 223s File "/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests/ostree-push", line 14, in 223s push.main() 223s ~~~~~~~~~^^ 223s File "/usr/lib/python3/dist-packages/otpush/push.py", line 574, in main 223s push_refs( 223s ~~~~~~~~~^ 223s repo, 223s ^^^^^ 223s ...<4 lines>... 223s dry_run=args.dry_run, 223s ^^^^^^^^^^^^^^^^^^^^^ 223s ) 223s ^ 223s File "/usr/lib/python3/dist-packages/otpush/push.py", line 349, in push_refs 223s with RepoServer(local_repo_path) as http_server: 223s ~~~~~~~~~~^^^^^^^^^^^^^^^^^ 223s File "/usr/lib/python3/dist-packages/otpush/push.py", line 114, in __enter__ 223s self.start() 223s ~~~~~~~~~~^^ 223s File "/usr/lib/python3/dist-packages/otpush/push.py", line 141, in start 223s self.proc.start() 223s ~~~~~~~~~~~~~~~^^ 223s File "/usr/lib/python3.14/multiprocessing/process.py", line 121, in start 223s self._popen = self._Popen(self) 223s ~~~~~~~~~~~^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/context.py", line 224, in _Popen 223s return _default_context.get_context().Process._Popen(process_obj) 223s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/context.py", line 300, in _Popen 223s return Popen(process_obj) 223s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 35, in __init__ 223s super().__init__(process_obj) 223s ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/popen_fork.py", line 20, in __init__ 223s self._launch(process_obj) 223s ~~~~~~~~~~~~^^^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 51, in _launch 223s self.sentinel, w = forkserver.connect_to_new_process(self._fds) 223s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/forkserver.py", line 106, in connect_to_new_process 223s connection.answer_challenge( 223s ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 223s wrapped_client, self._forkserver_authkey) 223s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/connection.py", line 970, in answer_challenge 223s message = connection.recv_bytes(256) # reject large message 223s File "/usr/lib/python3.14/multiprocessing/connection.py", line 222, in recv_bytes 223s buf = self._recv_bytes(maxlength) 223s File "/usr/lib/python3.14/multiprocessing/connection.py", line 447, in _recv_bytes 223s buf = self._recv(4) 223s File "/usr/lib/python3.14/multiprocessing/connection.py", line 412, in _recv 223s chunk = read(handle, to_read) 223s ConnectionResetError: [Errno 104] Connection reset by peer 223s _______________________________ test_unversioned _______________________________ 223s 223s source_repo = 223s dest_repo = 223s sshd = SSHServerInfo(proc=, address='127.0.0.1', port=33216) 223s ssh_options = ['-i', '/tmp/pytest-of-ubuntu/pytest-0/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', ...] 223s cli_env_vars = {'PATH': '/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:...ild.McQ/src/debian/python3-ostree-push/usr/lib/python3.13/dist-packages:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build'} 223s receive_config_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_unversioned0/ostree-receive.conf') 223s tmp_files_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_unversioned0/files') 223s 223s def test_unversioned(source_repo, dest_repo, sshd, ssh_options, 223s cli_env_vars, receive_config_path, tmp_files_path): 223s """Test push with unversioned ostree-receive""" 223s args = ( 223s source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 223s receive_config_path 223s ) 223s random_commit(source_repo, tmp_files_path, 'test') 223s > run_push(*args, command='ostree-receive') 223s 223s tests/test_full.py:166: 223s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 223s tests/test_full.py:43: in run_push 223s return subprocess.run(cmd, **popen_kwargs) 223s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 223s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 223s 223s input = None, capture_output = False, timeout = None, check = True 223s 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', ...],) 223s kwargs = {'env': {'ADTTMP': '/tmp/autopkgtest.vr0SpO/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.vr0SpO/pybuild-autopk...': 'python3-defaults/3.14.2-1', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.vr0SpO/pybuild-autopkgtest-artifacts', ...}} 223s process = 223s stdout = None, stderr = None, retcode = 1 223s 223s def run(*popenargs, 223s input=None, capture_output=False, timeout=None, check=False, **kwargs): 223s """Run command with arguments and return a CompletedProcess instance. 223s 223s The returned instance will have attributes args, returncode, stdout and 223s stderr. By default, stdout and stderr are not captured, and those attributes 223s will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, 223s or pass capture_output=True to capture both. 223s 223s If check is True and the exit code was non-zero, it raises a 223s CalledProcessError. The CalledProcessError object will have the return code 223s in the returncode attribute, and output & stderr attributes if those streams 223s were captured. 223s 223s If timeout (seconds) is given and the process takes too long, 223s a TimeoutExpired exception will be raised. 223s 223s There is an optional argument "input", allowing you to 223s pass bytes or a string to the subprocess's stdin. If you use this argument 223s you may not also use the Popen constructor's "stdin" argument, as 223s it will be used internally. 223s 223s By default, all communication is in bytes, and therefore any "input" should 223s be bytes, and the stdout and stderr will be bytes. If in text mode, any 223s "input" should be a string, and stdout and stderr will be strings decoded 223s according to locale encoding, or by "encoding" if set. Text mode is 223s triggered by setting any of text, encoding, errors or universal_newlines. 223s 223s The other arguments are the same as for the Popen constructor. 223s """ 223s if input is not None: 223s if kwargs.get('stdin') is not None: 223s raise ValueError('stdin and input arguments may not both be used.') 223s kwargs['stdin'] = PIPE 223s 223s if capture_output: 223s if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: 223s raise ValueError('stdout and stderr arguments may not be used ' 223s 'with capture_output.') 223s kwargs['stdout'] = PIPE 223s kwargs['stderr'] = PIPE 223s 223s with Popen(*popenargs, **kwargs) as process: 223s try: 223s stdout, stderr = process.communicate(input, timeout=timeout) 223s except TimeoutExpired as exc: 223s process.kill() 223s if _mswindows: 223s # Windows accumulates the output in a single blocking 223s # read() call run on child threads, with the timeout 223s # being done in a join() on those threads. communicate() 223s # _after_ kill() is required to collect that and add it 223s # to the exception. 223s exc.stdout, exc.stderr = process.communicate() 223s else: 223s # POSIX _communicate already populated the output so 223s # far into the TimeoutExpired exception. 223s process.wait() 223s raise 223s except: # Including KeyboardInterrupt, communicate handled that. 223s process.kill() 223s # We don't call process.wait() as .__exit__ does that for us. 223s raise 223s retcode = process.poll() 223s if check and retcode: 223s > raise CalledProcessError(retcode, process.args, 223s output=stdout, stderr=stderr) 223s 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:33216//tmp/pytest-of-ubuntu/pytest-0/test_unversioned0/dest-repo']' returned non-zero exit status 1. 223s 223s /usr/lib/python3.13/subprocess.py:577: CalledProcessError 223s ----------------------------- Captured stderr call ----------------------------- 223s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build:/tmp/autopkgtest.vr0SpO/build.McQ/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 223s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.vr0SpO/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:33216//tmp/pytest-of-ubuntu/pytest-0/test_unversioned0/dest-repo'] 223s 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' 223s 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' 223s 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' 223s 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' 223s 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 223s INFO:otpush.push:Regenerating summary file 223s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build:/tmp/autopkgtest.vr0SpO/build.McQ/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 223s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests/ostree-push'] 223s usage: ostree-push [-h] [-n] [-p PORT] [-q] [-v] [--repo REPO] 223s [--command COMMAND] [-i OPTION] [--version] 223s DEST [REF ...] 223s ostree-push: error: the following arguments are required: DEST 223s Traceback (most recent call last): 223s File "/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests/ostree-push", line 14, in 223s push.main() 223s ~~~~~~~~~^^ 223s File "/usr/lib/python3/dist-packages/otpush/push.py", line 574, in main 223s push_refs( 223s ~~~~~~~~~^ 223s repo, 223s ^^^^^ 223s ...<4 lines>... 223s dry_run=args.dry_run, 223s ^^^^^^^^^^^^^^^^^^^^^ 223s ) 223s ^ 223s File "/usr/lib/python3/dist-packages/otpush/push.py", line 349, in push_refs 223s with RepoServer(local_repo_path) as http_server: 223s ~~~~~~~~~~^^^^^^^^^^^^^^^^^ 223s File "/usr/lib/python3/dist-packages/otpush/push.py", line 114, in __enter__ 223s self.start() 223s ~~~~~~~~~~^^ 223s File "/usr/lib/python3/dist-packages/otpush/push.py", line 141, in start 223s self.proc.start() 223s ~~~~~~~~~~~~~~~^^ 223s File "/usr/lib/python3.14/multiprocessing/process.py", line 121, in start 223s self._popen = self._Popen(self) 223s ~~~~~~~~~~~^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/context.py", line 224, in _Popen 223s return _default_context.get_context().Process._Popen(process_obj) 223s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/context.py", line 300, in _Popen 223s return Popen(process_obj) 223s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 35, in __init__ 223s super().__init__(process_obj) 223s ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/popen_fork.py", line 20, in __init__ 223s self._launch(process_obj) 223s ~~~~~~~~~~~~^^^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 51, in _launch 223s self.sentinel, w = forkserver.connect_to_new_process(self._fds) 223s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/forkserver.py", line 106, in connect_to_new_process 223s connection.answer_challenge( 223s ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 223s wrapped_client, self._forkserver_authkey) 223s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 223s File "/usr/lib/python3.14/multiprocessing/connection.py", line 970, in answer_challenge 223s message = connection.recv_bytes(256) # reject large message 223s File "/usr/lib/python3.14/multiprocessing/connection.py", line 222, in recv_bytes 223s buf = self._recv_bytes(maxlength) 223s File "/usr/lib/python3.14/multiprocessing/connection.py", line 447, in _recv_bytes 223s buf = self._recv(4) 223s File "/usr/lib/python3.14/multiprocessing/connection.py", line 412, in _recv 223s chunk = read(handle, to_read) 223s ConnectionResetError: [Errno 104] Connection reset by peer 223s =============================== warnings summary =============================== 223s tests/test_push.py: 10 warnings 223s tests/test_receive.py: 19 warnings 223s /usr/lib/python3.13/multiprocessing/popen_fork.py:67: DeprecationWarning: This process (pid=2063) is multi-threaded, use of fork() may lead to deadlocks in the child. 223s self.pid = os.fork() 223s 223s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 223s =========================== short test summary info ============================ 223s FAILED tests/test_full.py::test_no_commits - subprocess.CalledProcessError: C... 223s FAILED tests/test_full.py::test_basic - subprocess.CalledProcessError: Comman... 223s FAILED tests/test_full.py::test_dry_run - subprocess.CalledProcessError: Comm... 223s FAILED tests/test_full.py::test_scp_dest - subprocess.CalledProcessError: Com... 223s FAILED tests/test_full.py::test_command_abspath - subprocess.CalledProcessErr... 223s FAILED tests/test_full.py::test_unversioned - subprocess.CalledProcessError: ... 223s ============ 6 failed, 89 passed, 4 skipped, 29 warnings in 26.37s ============= 223s E: pybuild pybuild:483: test: plugin pyproject failed with: exit code=1: cd /tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build; python3.13 -m pytest tests 223s I: pybuild base:384: cd /tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build; python3.14 -m pytest tests 225s ============================= test session starts ============================== 225s platform linux -- Python 3.14.2, pytest-9.0.2, pluggy-1.6.0 225s rootdir: /tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build 225s plugins: typeguard-4.4.4 225s collected 99 items 225s 232s tests/test_full.py FFFFFF [ 6%] 244s tests/test_push.py ................................. [ 39%] 255s tests/test_receive.py ...........ss...s................................. [ 89%] 255s . [ 90%] 257s tests/test_receive_legacy.py .. [ 92%] 258s tests/test_receive_shell.py .....s [ 98%] 258s tests/test_sshd.py . [100%] 258s 258s =================================== FAILURES =================================== 258s _______________________________ test_no_commits ________________________________ 258s 258s source_repo = 258s dest_repo = 258s sshd = SSHServerInfo(proc=, address='127.0.0.1', port=51456) 258s ssh_options = ['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', ...] 258s cli_env_vars = {'PATH': '/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:...ild.McQ/src/debian/python3-ostree-push/usr/lib/python3.14/dist-packages:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build'} 258s receive_config_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-1/test_no_commits0/ostree-receive.conf') 258s capfd = <_pytest.capture.CaptureFixture object at 0xf36ea538> 258s 258s def test_no_commits(source_repo, dest_repo, sshd, ssh_options, 258s cli_env_vars, receive_config_path, capfd): 258s """Test push with no commits in source repo""" 258s args = ( 258s source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 258s receive_config_path 258s ) 258s 258s > run_push(*args) 258s 258s tests/test_full.py:54: 258s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 258s tests/test_full.py:43: in run_push 258s return subprocess.run(cmd, **popen_kwargs) 258s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 258s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 258s 258s input = None, capture_output = False, timeout = None, check = True 258s 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', ...],) 258s kwargs = {'env': {'ADTTMP': '/tmp/autopkgtest.vr0SpO/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.vr0SpO/pybuild-autopk...': 'python3-defaults/3.14.2-1', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.vr0SpO/pybuild-autopkgtest-artifacts', ...}} 258s process = 258s stdout = None, stderr = None, retcode = 1 258s 258s def run(*popenargs, 258s input=None, capture_output=False, timeout=None, check=False, **kwargs): 258s """Run command with arguments and return a CompletedProcess instance. 258s 258s The returned instance will have attributes args, returncode, stdout and 258s stderr. By default, stdout and stderr are not captured, and those attributes 258s will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, 258s or pass capture_output=True to capture both. 258s 258s If check is True and the exit code was non-zero, it raises a 258s CalledProcessError. The CalledProcessError object will have the return code 258s in the returncode attribute, and output & stderr attributes if those streams 258s were captured. 258s 258s If timeout (seconds) is given and the process takes too long, 258s a TimeoutExpired exception will be raised. 258s 258s There is an optional argument "input", allowing you to 258s pass bytes or a string to the subprocess's stdin. If you use this argument 258s you may not also use the Popen constructor's "stdin" argument, as 258s it will be used internally. 258s 258s By default, all communication is in bytes, and therefore any "input" should 258s be bytes, and the stdout and stderr will be bytes. If in text mode, any 258s "input" should be a string, and stdout and stderr will be strings decoded 258s according to locale encoding, or by "encoding" if set. Text mode is 258s triggered by setting any of text, encoding, errors or universal_newlines. 258s 258s The other arguments are the same as for the Popen constructor. 258s """ 258s if input is not None: 258s if kwargs.get('stdin') is not None: 258s raise ValueError('stdin and input arguments may not both be used.') 258s kwargs['stdin'] = PIPE 258s 258s if capture_output: 258s if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: 258s raise ValueError('stdout and stderr arguments may not be used ' 258s 'with capture_output.') 258s kwargs['stdout'] = PIPE 258s kwargs['stderr'] = PIPE 258s 258s with Popen(*popenargs, **kwargs) as process: 258s try: 258s stdout, stderr = process.communicate(input, timeout=timeout) 258s except TimeoutExpired as exc: 258s process.kill() 258s if _mswindows: 258s # Windows accumulates the output in a single blocking 258s # read() call run on child threads, with the timeout 258s # being done in a join() on those threads. communicate() 258s # _after_ kill() is required to collect that and add it 258s # to the exception. 258s exc.stdout, exc.stderr = process.communicate() 258s else: 258s # POSIX _communicate already populated the output so 258s # far into the TimeoutExpired exception. 258s process.wait() 258s raise 258s except: # Including KeyboardInterrupt, communicate handled that. 258s process.kill() 258s # We don't call process.wait() as .__exit__ does that for us. 258s raise 258s retcode = process.poll() 258s if check and retcode: 258s > raise CalledProcessError(retcode, process.args, 258s output=stdout, stderr=stderr) 258s 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:51456//tmp/pytest-of-ubuntu/pytest-1/test_no_commits0/dest-repo']' returned non-zero exit status 1. 258s 258s /usr/lib/python3.14/subprocess.py:577: CalledProcessError 258s ---------------------------- Captured stderr setup ----------------------------- 258s Server listening on 127.0.0.1 port 51456. 258s Connection closed by 127.0.0.1 port 57092 258s ----------------------------- Captured stderr call ----------------------------- 258s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build:/tmp/autopkgtest.vr0SpO/build.McQ/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 258s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.vr0SpO/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:51456//tmp/pytest-of-ubuntu/pytest-1/test_no_commits0/dest-repo'] 258s 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' 258s 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' 258s 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' 258s 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' 258s DEBUG:otpush.push:/tmp/pytest-of-ubuntu/pytest-1/test_no_commits0/source-repo/summary does not exist, regenerating 258s INFO:otpush.push:Regenerating summary file 258s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build:/tmp/autopkgtest.vr0SpO/build.McQ/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 258s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests/ostree-push'] 258s usage: ostree-push [-h] [-n] [-p PORT] [-q] [-v] [--repo REPO] 258s [--command COMMAND] [-i OPTION] [--version] 258s DEST [REF ...] 258s ostree-push: error: the following arguments are required: DEST 258s Traceback (most recent call last): 258s File "/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests/ostree-push", line 14, in 258s push.main() 258s ~~~~~~~~~^^ 258s File "/usr/lib/python3/dist-packages/otpush/push.py", line 574, in main 258s push_refs( 258s ~~~~~~~~~^ 258s repo, 258s ^^^^^ 258s ...<4 lines>... 258s dry_run=args.dry_run, 258s ^^^^^^^^^^^^^^^^^^^^^ 258s ) 258s ^ 258s File "/usr/lib/python3/dist-packages/otpush/push.py", line 349, in push_refs 258s with RepoServer(local_repo_path) as http_server: 258s ~~~~~~~~~~^^^^^^^^^^^^^^^^^ 258s File "/usr/lib/python3/dist-packages/otpush/push.py", line 114, in __enter__ 258s self.start() 258s ~~~~~~~~~~^^ 258s File "/usr/lib/python3/dist-packages/otpush/push.py", line 141, in start 258s self.proc.start() 258s ~~~~~~~~~~~~~~~^^ 258s File "/usr/lib/python3.14/multiprocessing/process.py", line 121, in start 258s self._popen = self._Popen(self) 258s ~~~~~~~~~~~^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/context.py", line 224, in _Popen 258s return _default_context.get_context().Process._Popen(process_obj) 258s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/context.py", line 300, in _Popen 258s return Popen(process_obj) 258s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 35, in __init__ 258s super().__init__(process_obj) 258s ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/popen_fork.py", line 20, in __init__ 258s self._launch(process_obj) 258s ~~~~~~~~~~~~^^^^^^^^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 51, in _launch 258s self.sentinel, w = forkserver.connect_to_new_process(self._fds) 258s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/forkserver.py", line 106, in connect_to_new_process 258s connection.answer_challenge( 258s ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 258s wrapped_client, self._forkserver_authkey) 258s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/connection.py", line 970, in answer_challenge 258s message = connection.recv_bytes(256) # reject large message 258s File "/usr/lib/python3.14/multiprocessing/connection.py", line 222, in recv_bytes 258s buf = self._recv_bytes(maxlength) 258s File "/usr/lib/python3.14/multiprocessing/connection.py", line 447, in _recv_bytes 258s buf = self._recv(4) 258s File "/usr/lib/python3.14/multiprocessing/connection.py", line 412, in _recv 258s chunk = read(handle, to_read) 258s ConnectionResetError: [Errno 104] Connection reset by peer 258s __________________________________ test_basic __________________________________ 258s 258s source_repo = 258s dest_repo = 258s sshd = SSHServerInfo(proc=, address='127.0.0.1', port=51456) 258s ssh_options = ['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', ...] 258s cli_env_vars = {'PATH': '/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:...ild.McQ/src/debian/python3-ostree-push/usr/lib/python3.14/dist-packages:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build'} 258s receive_config_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-1/test_basic0/ostree-receive.conf') 258s tmp_files_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-1/test_basic0/files') 258s capfd = <_pytest.capture.CaptureFixture object at 0xf3414660> 258s 258s def test_basic(source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 258s receive_config_path, tmp_files_path, capfd): 258s """Test push with one commit in source repo""" 258s args = ( 258s source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 258s receive_config_path 258s ) 258s 258s rev = random_commit(source_repo, tmp_files_path, 'test') 258s source_content = get_content_checksum(source_repo, rev) 258s 258s wipe_repo(dest_repo) 258s > run_push(*args) 258s 258s tests/test_full.py:79: 258s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 258s tests/test_full.py:43: in run_push 258s return subprocess.run(cmd, **popen_kwargs) 258s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 258s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 258s 258s input = None, capture_output = False, timeout = None, check = True 258s 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', ...],) 258s kwargs = {'env': {'ADTTMP': '/tmp/autopkgtest.vr0SpO/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.vr0SpO/pybuild-autopk...': 'python3-defaults/3.14.2-1', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.vr0SpO/pybuild-autopkgtest-artifacts', ...}} 258s process = 258s stdout = None, stderr = None, retcode = 1 258s 258s def run(*popenargs, 258s input=None, capture_output=False, timeout=None, check=False, **kwargs): 258s """Run command with arguments and return a CompletedProcess instance. 258s 258s The returned instance will have attributes args, returncode, stdout and 258s stderr. By default, stdout and stderr are not captured, and those attributes 258s will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, 258s or pass capture_output=True to capture both. 258s 258s If check is True and the exit code was non-zero, it raises a 258s CalledProcessError. The CalledProcessError object will have the return code 258s in the returncode attribute, and output & stderr attributes if those streams 258s were captured. 258s 258s If timeout (seconds) is given and the process takes too long, 258s a TimeoutExpired exception will be raised. 258s 258s There is an optional argument "input", allowing you to 258s pass bytes or a string to the subprocess's stdin. If you use this argument 258s you may not also use the Popen constructor's "stdin" argument, as 258s it will be used internally. 258s 258s By default, all communication is in bytes, and therefore any "input" should 258s be bytes, and the stdout and stderr will be bytes. If in text mode, any 258s "input" should be a string, and stdout and stderr will be strings decoded 258s according to locale encoding, or by "encoding" if set. Text mode is 258s triggered by setting any of text, encoding, errors or universal_newlines. 258s 258s The other arguments are the same as for the Popen constructor. 258s """ 258s if input is not None: 258s if kwargs.get('stdin') is not None: 258s raise ValueError('stdin and input arguments may not both be used.') 258s kwargs['stdin'] = PIPE 258s 258s if capture_output: 258s if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: 258s raise ValueError('stdout and stderr arguments may not be used ' 258s 'with capture_output.') 258s kwargs['stdout'] = PIPE 258s kwargs['stderr'] = PIPE 258s 258s with Popen(*popenargs, **kwargs) as process: 258s try: 258s stdout, stderr = process.communicate(input, timeout=timeout) 258s except TimeoutExpired as exc: 258s process.kill() 258s if _mswindows: 258s # Windows accumulates the output in a single blocking 258s # read() call run on child threads, with the timeout 258s # being done in a join() on those threads. communicate() 258s # _after_ kill() is required to collect that and add it 258s # to the exception. 258s exc.stdout, exc.stderr = process.communicate() 258s else: 258s # POSIX _communicate already populated the output so 258s # far into the TimeoutExpired exception. 258s process.wait() 258s raise 258s except: # Including KeyboardInterrupt, communicate handled that. 258s process.kill() 258s # We don't call process.wait() as .__exit__ does that for us. 258s raise 258s retcode = process.poll() 258s if check and retcode: 258s > raise CalledProcessError(retcode, process.args, 258s output=stdout, stderr=stderr) 258s 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:51456//tmp/pytest-of-ubuntu/pytest-1/test_basic0/dest-repo']' returned non-zero exit status 1. 258s 258s /usr/lib/python3.14/subprocess.py:577: CalledProcessError 258s ----------------------------- Captured stderr call ----------------------------- 258s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build:/tmp/autopkgtest.vr0SpO/build.McQ/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 258s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.vr0SpO/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:51456//tmp/pytest-of-ubuntu/pytest-1/test_basic0/dest-repo'] 258s 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' 258s 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' 258s 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' 258s 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' 258s 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 258s INFO:otpush.push:Regenerating summary file 258s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build:/tmp/autopkgtest.vr0SpO/build.McQ/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 258s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests/ostree-push'] 258s usage: ostree-push [-h] [-n] [-p PORT] [-q] [-v] [--repo REPO] 258s [--command COMMAND] [-i OPTION] [--version] 258s DEST [REF ...] 258s ostree-push: error: the following arguments are required: DEST 258s Traceback (most recent call last): 258s File "/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests/ostree-push", line 14, in 258s push.main() 258s ~~~~~~~~~^^ 258s File "/usr/lib/python3/dist-packages/otpush/push.py", line 574, in main 258s push_refs( 258s ~~~~~~~~~^ 258s repo, 258s ^^^^^ 258s ...<4 lines>... 258s dry_run=args.dry_run, 258s ^^^^^^^^^^^^^^^^^^^^^ 258s ) 258s ^ 258s File "/usr/lib/python3/dist-packages/otpush/push.py", line 349, in push_refs 258s with RepoServer(local_repo_path) as http_server: 258s ~~~~~~~~~~^^^^^^^^^^^^^^^^^ 258s File "/usr/lib/python3/dist-packages/otpush/push.py", line 114, in __enter__ 258s self.start() 258s ~~~~~~~~~~^^ 258s File "/usr/lib/python3/dist-packages/otpush/push.py", line 141, in start 258s self.proc.start() 258s ~~~~~~~~~~~~~~~^^ 258s File "/usr/lib/python3.14/multiprocessing/process.py", line 121, in start 258s self._popen = self._Popen(self) 258s ~~~~~~~~~~~^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/context.py", line 224, in _Popen 258s return _default_context.get_context().Process._Popen(process_obj) 258s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/context.py", line 300, in _Popen 258s return Popen(process_obj) 258s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 35, in __init__ 258s super().__init__(process_obj) 258s ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/popen_fork.py", line 20, in __init__ 258s self._launch(process_obj) 258s ~~~~~~~~~~~~^^^^^^^^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 51, in _launch 258s self.sentinel, w = forkserver.connect_to_new_process(self._fds) 258s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/forkserver.py", line 106, in connect_to_new_process 258s connection.answer_challenge( 258s ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 258s wrapped_client, self._forkserver_authkey) 258s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/connection.py", line 970, in answer_challenge 258s message = connection.recv_bytes(256) # reject large message 258s File "/usr/lib/python3.14/multiprocessing/connection.py", line 222, in recv_bytes 258s buf = self._recv_bytes(maxlength) 258s File "/usr/lib/python3.14/multiprocessing/connection.py", line 447, in _recv_bytes 258s buf = self._recv(4) 258s File "/usr/lib/python3.14/multiprocessing/connection.py", line 412, in _recv 258s chunk = read(handle, to_read) 258s ConnectionResetError: [Errno 104] Connection reset by peer 258s _________________________________ test_dry_run _________________________________ 258s 258s source_repo = 258s dest_repo = 258s sshd = SSHServerInfo(proc=, address='127.0.0.1', port=51456) 258s ssh_options = ['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', ...] 258s cli_env_vars = {'PATH': '/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:...ild.McQ/src/debian/python3-ostree-push/usr/lib/python3.14/dist-packages:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build'} 258s receive_config_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-1/test_dry_run0/ostree-receive.conf') 258s tmp_files_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-1/test_dry_run0/files') 258s 258s def test_dry_run(source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 258s receive_config_path, tmp_files_path): 258s """Test push dry run""" 258s args = ( 258s source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 258s receive_config_path 258s ) 258s 258s random_commit(source_repo, tmp_files_path, 'test') 258s 258s wipe_repo(dest_repo) 258s > run_push(*args, options=['-n']) 258s 258s tests/test_full.py:114: 258s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 258s tests/test_full.py:43: in run_push 258s return subprocess.run(cmd, **popen_kwargs) 258s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 258s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 258s 258s input = None, capture_output = False, timeout = None, check = True 258s 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', ...],) 258s kwargs = {'env': {'ADTTMP': '/tmp/autopkgtest.vr0SpO/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.vr0SpO/pybuild-autopk...': 'python3-defaults/3.14.2-1', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.vr0SpO/pybuild-autopkgtest-artifacts', ...}} 258s process = 258s stdout = None, stderr = None, retcode = 1 258s 258s def run(*popenargs, 258s input=None, capture_output=False, timeout=None, check=False, **kwargs): 258s """Run command with arguments and return a CompletedProcess instance. 258s 258s The returned instance will have attributes args, returncode, stdout and 258s stderr. By default, stdout and stderr are not captured, and those attributes 258s will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, 258s or pass capture_output=True to capture both. 258s 258s If check is True and the exit code was non-zero, it raises a 258s CalledProcessError. The CalledProcessError object will have the return code 258s in the returncode attribute, and output & stderr attributes if those streams 258s were captured. 258s 258s If timeout (seconds) is given and the process takes too long, 258s a TimeoutExpired exception will be raised. 258s 258s There is an optional argument "input", allowing you to 258s pass bytes or a string to the subprocess's stdin. If you use this argument 258s you may not also use the Popen constructor's "stdin" argument, as 258s it will be used internally. 258s 258s By default, all communication is in bytes, and therefore any "input" should 258s be bytes, and the stdout and stderr will be bytes. If in text mode, any 258s "input" should be a string, and stdout and stderr will be strings decoded 258s according to locale encoding, or by "encoding" if set. Text mode is 258s triggered by setting any of text, encoding, errors or universal_newlines. 258s 258s The other arguments are the same as for the Popen constructor. 258s """ 258s if input is not None: 258s if kwargs.get('stdin') is not None: 258s raise ValueError('stdin and input arguments may not both be used.') 258s kwargs['stdin'] = PIPE 258s 258s if capture_output: 258s if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: 258s raise ValueError('stdout and stderr arguments may not be used ' 258s 'with capture_output.') 258s kwargs['stdout'] = PIPE 258s kwargs['stderr'] = PIPE 258s 258s with Popen(*popenargs, **kwargs) as process: 258s try: 258s stdout, stderr = process.communicate(input, timeout=timeout) 258s except TimeoutExpired as exc: 258s process.kill() 258s if _mswindows: 258s # Windows accumulates the output in a single blocking 258s # read() call run on child threads, with the timeout 258s # being done in a join() on those threads. communicate() 258s # _after_ kill() is required to collect that and add it 258s # to the exception. 258s exc.stdout, exc.stderr = process.communicate() 258s else: 258s # POSIX _communicate already populated the output so 258s # far into the TimeoutExpired exception. 258s process.wait() 258s raise 258s except: # Including KeyboardInterrupt, communicate handled that. 258s process.kill() 258s # We don't call process.wait() as .__exit__ does that for us. 258s raise 258s retcode = process.poll() 258s if check and retcode: 258s > raise CalledProcessError(retcode, process.args, 258s output=stdout, stderr=stderr) 258s 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:51456//tmp/pytest-of-ubuntu/pytest-1/test_dry_run0/dest-repo']' returned non-zero exit status 1. 258s 258s /usr/lib/python3.14/subprocess.py:577: CalledProcessError 258s ----------------------------- Captured stderr call ----------------------------- 258s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build:/tmp/autopkgtest.vr0SpO/build.McQ/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 258s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.vr0SpO/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:51456//tmp/pytest-of-ubuntu/pytest-1/test_dry_run0/dest-repo'] 258s 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' 258s 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' 258s 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' 258s 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' 258s 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 258s INFO:otpush.push:Regenerating summary file 258s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build:/tmp/autopkgtest.vr0SpO/build.McQ/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 258s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests/ostree-push'] 258s usage: ostree-push [-h] [-n] [-p PORT] [-q] [-v] [--repo REPO] 258s [--command COMMAND] [-i OPTION] [--version] 258s DEST [REF ...] 258s ostree-push: error: the following arguments are required: DEST 258s Traceback (most recent call last): 258s File "/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests/ostree-push", line 14, in 258s push.main() 258s ~~~~~~~~~^^ 258s File "/usr/lib/python3/dist-packages/otpush/push.py", line 574, in main 258s push_refs( 258s ~~~~~~~~~^ 258s repo, 258s ^^^^^ 258s ...<4 lines>... 258s dry_run=args.dry_run, 258s ^^^^^^^^^^^^^^^^^^^^^ 258s ) 258s ^ 258s File "/usr/lib/python3/dist-packages/otpush/push.py", line 349, in push_refs 258s with RepoServer(local_repo_path) as http_server: 258s ~~~~~~~~~~^^^^^^^^^^^^^^^^^ 258s File "/usr/lib/python3/dist-packages/otpush/push.py", line 114, in __enter__ 258s self.start() 258s ~~~~~~~~~~^^ 258s File "/usr/lib/python3/dist-packages/otpush/push.py", line 141, in start 258s self.proc.start() 258s ~~~~~~~~~~~~~~~^^ 258s File "/usr/lib/python3.14/multiprocessing/process.py", line 121, in start 258s self._popen = self._Popen(self) 258s ~~~~~~~~~~~^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/context.py", line 224, in _Popen 258s return _default_context.get_context().Process._Popen(process_obj) 258s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/context.py", line 300, in _Popen 258s return Popen(process_obj) 258s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 35, in __init__ 258s super().__init__(process_obj) 258s ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/popen_fork.py", line 20, in __init__ 258s self._launch(process_obj) 258s ~~~~~~~~~~~~^^^^^^^^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 51, in _launch 258s self.sentinel, w = forkserver.connect_to_new_process(self._fds) 258s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/forkserver.py", line 106, in connect_to_new_process 258s connection.answer_challenge( 258s ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 258s wrapped_client, self._forkserver_authkey) 258s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/connection.py", line 970, in answer_challenge 258s message = connection.recv_bytes(256) # reject large message 258s File "/usr/lib/python3.14/multiprocessing/connection.py", line 222, in recv_bytes 258s buf = self._recv_bytes(maxlength) 258s File "/usr/lib/python3.14/multiprocessing/connection.py", line 447, in _recv_bytes 258s buf = self._recv(4) 258s File "/usr/lib/python3.14/multiprocessing/connection.py", line 412, in _recv 258s chunk = read(handle, to_read) 258s ConnectionResetError: [Errno 104] Connection reset by peer 258s ________________________________ test_scp_dest _________________________________ 258s 258s source_repo = 258s dest_repo = 258s sshd = SSHServerInfo(proc=, address='127.0.0.1', port=51456) 258s ssh_options = ['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', ...] 258s cli_env_vars = {'PATH': '/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:...ild.McQ/src/debian/python3-ostree-push/usr/lib/python3.14/dist-packages:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build'} 258s receive_config_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-1/test_scp_dest0/ostree-receive.conf') 258s tmp_files_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-1/test_scp_dest0/files') 258s 258s def test_scp_dest(source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 258s receive_config_path, tmp_files_path): 258s """Test push with scp style destination""" 258s args = ( 258s source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 258s receive_config_path 258s ) 258s dest = f'{sshd.address}:{dest_repo.path}' 258s options = ['-p', str(sshd.port)] 258s 258s random_commit(source_repo, tmp_files_path, 'test') 258s > run_push(*args, dest=dest, options=options) 258s 258s tests/test_full.py:140: 258s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 258s tests/test_full.py:43: in run_push 258s return subprocess.run(cmd, **popen_kwargs) 258s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 258s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 258s 258s input = None, capture_output = False, timeout = None, check = True 258s 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', ...],) 258s kwargs = {'env': {'ADTTMP': '/tmp/autopkgtest.vr0SpO/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.vr0SpO/pybuild-autopk...': 'python3-defaults/3.14.2-1', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.vr0SpO/pybuild-autopkgtest-artifacts', ...}} 258s process = 258s stdout = None, stderr = None, retcode = 1 258s 258s def run(*popenargs, 258s input=None, capture_output=False, timeout=None, check=False, **kwargs): 258s """Run command with arguments and return a CompletedProcess instance. 258s 258s The returned instance will have attributes args, returncode, stdout and 258s stderr. By default, stdout and stderr are not captured, and those attributes 258s will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, 258s or pass capture_output=True to capture both. 258s 258s If check is True and the exit code was non-zero, it raises a 258s CalledProcessError. The CalledProcessError object will have the return code 258s in the returncode attribute, and output & stderr attributes if those streams 258s were captured. 258s 258s If timeout (seconds) is given and the process takes too long, 258s a TimeoutExpired exception will be raised. 258s 258s There is an optional argument "input", allowing you to 258s pass bytes or a string to the subprocess's stdin. If you use this argument 258s you may not also use the Popen constructor's "stdin" argument, as 258s it will be used internally. 258s 258s By default, all communication is in bytes, and therefore any "input" should 258s be bytes, and the stdout and stderr will be bytes. If in text mode, any 258s "input" should be a string, and stdout and stderr will be strings decoded 258s according to locale encoding, or by "encoding" if set. Text mode is 258s triggered by setting any of text, encoding, errors or universal_newlines. 258s 258s The other arguments are the same as for the Popen constructor. 258s """ 258s if input is not None: 258s if kwargs.get('stdin') is not None: 258s raise ValueError('stdin and input arguments may not both be used.') 258s kwargs['stdin'] = PIPE 258s 258s if capture_output: 258s if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: 258s raise ValueError('stdout and stderr arguments may not be used ' 258s 'with capture_output.') 258s kwargs['stdout'] = PIPE 258s kwargs['stderr'] = PIPE 258s 258s with Popen(*popenargs, **kwargs) as process: 258s try: 258s stdout, stderr = process.communicate(input, timeout=timeout) 258s except TimeoutExpired as exc: 258s process.kill() 258s if _mswindows: 258s # Windows accumulates the output in a single blocking 258s # read() call run on child threads, with the timeout 258s # being done in a join() on those threads. communicate() 258s # _after_ kill() is required to collect that and add it 258s # to the exception. 258s exc.stdout, exc.stderr = process.communicate() 258s else: 258s # POSIX _communicate already populated the output so 258s # far into the TimeoutExpired exception. 258s process.wait() 258s raise 258s except: # Including KeyboardInterrupt, communicate handled that. 258s process.kill() 258s # We don't call process.wait() as .__exit__ does that for us. 258s raise 258s retcode = process.poll() 258s if check and retcode: 258s > raise CalledProcessError(retcode, process.args, 258s output=stdout, stderr=stderr) 258s 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', '51456', '127.0.0.1:/tmp/pytest-of-ubuntu/pytest-1/test_scp_dest0/dest-repo']' returned non-zero exit status 1. 258s 258s /usr/lib/python3.14/subprocess.py:577: CalledProcessError 258s ----------------------------- Captured stderr call ----------------------------- 258s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build:/tmp/autopkgtest.vr0SpO/build.McQ/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 258s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.vr0SpO/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', '51456', '127.0.0.1:/tmp/pytest-of-ubuntu/pytest-1/test_scp_dest0/dest-repo'] 258s 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' 258s 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' 258s 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' 258s 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' 258s 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 258s INFO:otpush.push:Regenerating summary file 258s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build:/tmp/autopkgtest.vr0SpO/build.McQ/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 258s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests/ostree-push'] 258s usage: ostree-push [-h] [-n] [-p PORT] [-q] [-v] [--repo REPO] 258s [--command COMMAND] [-i OPTION] [--version] 258s DEST [REF ...] 258s ostree-push: error: the following arguments are required: DEST 258s Traceback (most recent call last): 258s File "/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests/ostree-push", line 14, in 258s push.main() 258s ~~~~~~~~~^^ 258s File "/usr/lib/python3/dist-packages/otpush/push.py", line 574, in main 258s push_refs( 258s ~~~~~~~~~^ 258s repo, 258s ^^^^^ 258s ...<4 lines>... 258s dry_run=args.dry_run, 258s ^^^^^^^^^^^^^^^^^^^^^ 258s ) 258s ^ 258s File "/usr/lib/python3/dist-packages/otpush/push.py", line 349, in push_refs 258s with RepoServer(local_repo_path) as http_server: 258s ~~~~~~~~~~^^^^^^^^^^^^^^^^^ 258s File "/usr/lib/python3/dist-packages/otpush/push.py", line 114, in __enter__ 258s self.start() 258s ~~~~~~~~~~^^ 258s File "/usr/lib/python3/dist-packages/otpush/push.py", line 141, in start 258s self.proc.start() 258s ~~~~~~~~~~~~~~~^^ 258s File "/usr/lib/python3.14/multiprocessing/process.py", line 121, in start 258s self._popen = self._Popen(self) 258s ~~~~~~~~~~~^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/context.py", line 224, in _Popen 258s return _default_context.get_context().Process._Popen(process_obj) 258s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/context.py", line 300, in _Popen 258s return Popen(process_obj) 258s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 35, in __init__ 258s super().__init__(process_obj) 258s ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/popen_fork.py", line 20, in __init__ 258s self._launch(process_obj) 258s ~~~~~~~~~~~~^^^^^^^^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 51, in _launch 258s self.sentinel, w = forkserver.connect_to_new_process(self._fds) 258s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/forkserver.py", line 106, in connect_to_new_process 258s connection.answer_challenge( 258s ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 258s wrapped_client, self._forkserver_authkey) 258s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/connection.py", line 970, in answer_challenge 258s message = connection.recv_bytes(256) # reject large message 258s File "/usr/lib/python3.14/multiprocessing/connection.py", line 222, in recv_bytes 258s buf = self._recv_bytes(maxlength) 258s File "/usr/lib/python3.14/multiprocessing/connection.py", line 447, in _recv_bytes 258s buf = self._recv(4) 258s File "/usr/lib/python3.14/multiprocessing/connection.py", line 412, in _recv 258s chunk = read(handle, to_read) 258s ConnectionResetError: [Errno 104] Connection reset by peer 258s _____________________________ test_command_abspath _____________________________ 258s 258s source_repo = 258s dest_repo = 258s sshd = SSHServerInfo(proc=, address='127.0.0.1', port=51456) 258s ssh_options = ['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', ...] 258s cli_env_vars = {'PATH': '/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:...ild.McQ/src/debian/python3-ostree-push/usr/lib/python3.14/dist-packages:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build'} 258s receive_config_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-1/test_command_abspath0/ostree-receive.conf') 258s tmp_files_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-1/test_command_abspath0/files') 258s 258s def test_command_abspath(source_repo, dest_repo, sshd, ssh_options, 258s cli_env_vars, receive_config_path, tmp_files_path): 258s """Test push with absolute path to ostree-receive""" 258s args = ( 258s source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 258s receive_config_path 258s ) 258s random_commit(source_repo, tmp_files_path, 'test') 258s > run_push(*args, command=ostree_receive_abspath) 258s 258s tests/test_full.py:153: 258s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 258s tests/test_full.py:43: in run_push 258s return subprocess.run(cmd, **popen_kwargs) 258s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 258s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 258s 258s input = None, capture_output = False, timeout = None, check = True 258s popenargs = (['ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-1/test_command_abspath0/source-repo', '--command=/tmp/autopkgtes...pO/autopkgtest_tmp/build/tests/ostree-receive-1', '-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', ...],) 258s kwargs = {'env': {'ADTTMP': '/tmp/autopkgtest.vr0SpO/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.vr0SpO/pybuild-autopk...': 'python3-defaults/3.14.2-1', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.vr0SpO/pybuild-autopkgtest-artifacts', ...}} 258s process = 258s stdout = None, stderr = None, retcode = 1 258s 258s def run(*popenargs, 258s input=None, capture_output=False, timeout=None, check=False, **kwargs): 258s """Run command with arguments and return a CompletedProcess instance. 258s 258s The returned instance will have attributes args, returncode, stdout and 258s stderr. By default, stdout and stderr are not captured, and those attributes 258s will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, 258s or pass capture_output=True to capture both. 258s 258s If check is True and the exit code was non-zero, it raises a 258s CalledProcessError. The CalledProcessError object will have the return code 258s in the returncode attribute, and output & stderr attributes if those streams 258s were captured. 258s 258s If timeout (seconds) is given and the process takes too long, 258s a TimeoutExpired exception will be raised. 258s 258s There is an optional argument "input", allowing you to 258s pass bytes or a string to the subprocess's stdin. If you use this argument 258s you may not also use the Popen constructor's "stdin" argument, as 258s it will be used internally. 258s 258s By default, all communication is in bytes, and therefore any "input" should 258s be bytes, and the stdout and stderr will be bytes. If in text mode, any 258s "input" should be a string, and stdout and stderr will be strings decoded 258s according to locale encoding, or by "encoding" if set. Text mode is 258s triggered by setting any of text, encoding, errors or universal_newlines. 258s 258s The other arguments are the same as for the Popen constructor. 258s """ 258s if input is not None: 258s if kwargs.get('stdin') is not None: 258s raise ValueError('stdin and input arguments may not both be used.') 258s kwargs['stdin'] = PIPE 258s 258s if capture_output: 258s if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: 258s raise ValueError('stdout and stderr arguments may not be used ' 258s 'with capture_output.') 258s kwargs['stdout'] = PIPE 258s kwargs['stderr'] = PIPE 258s 258s with Popen(*popenargs, **kwargs) as process: 258s try: 258s stdout, stderr = process.communicate(input, timeout=timeout) 258s except TimeoutExpired as exc: 258s process.kill() 258s if _mswindows: 258s # Windows accumulates the output in a single blocking 258s # read() call run on child threads, with the timeout 258s # being done in a join() on those threads. communicate() 258s # _after_ kill() is required to collect that and add it 258s # to the exception. 258s exc.stdout, exc.stderr = process.communicate() 258s else: 258s # POSIX _communicate already populated the output so 258s # far into the TimeoutExpired exception. 258s process.wait() 258s raise 258s except: # Including KeyboardInterrupt, communicate handled that. 258s process.kill() 258s # We don't call process.wait() as .__exit__ does that for us. 258s raise 258s retcode = process.poll() 258s if check and retcode: 258s > raise CalledProcessError(retcode, process.args, 258s output=stdout, stderr=stderr) 258s E subprocess.CalledProcessError: Command '['ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-1/test_command_abspath0/source-repo', '--command=/tmp/autopkgtest.vr0SpO/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:51456//tmp/pytest-of-ubuntu/pytest-1/test_command_abspath0/dest-repo']' returned non-zero exit status 1. 258s 258s /usr/lib/python3.14/subprocess.py:577: CalledProcessError 258s ----------------------------- Captured stderr call ----------------------------- 258s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build:/tmp/autopkgtest.vr0SpO/build.McQ/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 258s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests/ostree-push', '--repo=/tmp/pytest-of-ubuntu/pytest-1/test_command_abspath0/source-repo', '--command=/tmp/autopkgtest.vr0SpO/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:51456//tmp/pytest-of-ubuntu/pytest-1/test_command_abspath0/dest-repo'] 258s 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.vr0SpO/autopkgtest_tmp/build/tests/ostree-receive-1'], ssh_options=[]), '-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa' 258s 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.vr0SpO/autopkgtest_tmp/build/tests/ostree-receive-1'], ssh_options=['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa']), '-o', 'IdentitiesOnly=yes' 258s 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.vr0SpO/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' 258s 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.vr0SpO/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' 258s 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 258s INFO:otpush.push:Regenerating summary file 258s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build:/tmp/autopkgtest.vr0SpO/build.McQ/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 258s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests/ostree-push'] 258s usage: ostree-push [-h] [-n] [-p PORT] [-q] [-v] [--repo REPO] 258s [--command COMMAND] [-i OPTION] [--version] 258s DEST [REF ...] 258s ostree-push: error: the following arguments are required: DEST 258s Traceback (most recent call last): 258s File "/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests/ostree-push", line 14, in 258s push.main() 258s ~~~~~~~~~^^ 258s File "/usr/lib/python3/dist-packages/otpush/push.py", line 574, in main 258s push_refs( 258s ~~~~~~~~~^ 258s repo, 258s ^^^^^ 258s ...<4 lines>... 258s dry_run=args.dry_run, 258s ^^^^^^^^^^^^^^^^^^^^^ 258s ) 258s ^ 258s File "/usr/lib/python3/dist-packages/otpush/push.py", line 349, in push_refs 258s with RepoServer(local_repo_path) as http_server: 258s ~~~~~~~~~~^^^^^^^^^^^^^^^^^ 258s File "/usr/lib/python3/dist-packages/otpush/push.py", line 114, in __enter__ 258s self.start() 258s ~~~~~~~~~~^^ 258s File "/usr/lib/python3/dist-packages/otpush/push.py", line 141, in start 258s self.proc.start() 258s ~~~~~~~~~~~~~~~^^ 258s File "/usr/lib/python3.14/multiprocessing/process.py", line 121, in start 258s self._popen = self._Popen(self) 258s ~~~~~~~~~~~^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/context.py", line 224, in _Popen 258s return _default_context.get_context().Process._Popen(process_obj) 258s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/context.py", line 300, in _Popen 258s return Popen(process_obj) 258s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 35, in __init__ 258s super().__init__(process_obj) 258s ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/popen_fork.py", line 20, in __init__ 258s self._launch(process_obj) 258s ~~~~~~~~~~~~^^^^^^^^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 51, in _launch 258s self.sentinel, w = forkserver.connect_to_new_process(self._fds) 258s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/forkserver.py", line 106, in connect_to_new_process 258s connection.answer_challenge( 258s ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 258s wrapped_client, self._forkserver_authkey) 258s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/connection.py", line 970, in answer_challenge 258s message = connection.recv_bytes(256) # reject large message 258s File "/usr/lib/python3.14/multiprocessing/connection.py", line 222, in recv_bytes 258s buf = self._recv_bytes(maxlength) 258s File "/usr/lib/python3.14/multiprocessing/connection.py", line 447, in _recv_bytes 258s buf = self._recv(4) 258s File "/usr/lib/python3.14/multiprocessing/connection.py", line 412, in _recv 258s chunk = read(handle, to_read) 258s ConnectionResetError: [Errno 104] Connection reset by peer 258s _______________________________ test_unversioned _______________________________ 258s 258s source_repo = 258s dest_repo = 258s sshd = SSHServerInfo(proc=, address='127.0.0.1', port=51456) 258s ssh_options = ['-i', '/tmp/pytest-of-ubuntu/pytest-1/ssh-data0/id_rsa', '-o', 'IdentitiesOnly=yes', '-o', 'StrictHostKeyChecking=no', ...] 258s cli_env_vars = {'PATH': '/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:...ild.McQ/src/debian/python3-ostree-push/usr/lib/python3.14/dist-packages:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build'} 258s receive_config_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-1/test_unversioned0/ostree-receive.conf') 258s tmp_files_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-1/test_unversioned0/files') 258s 258s def test_unversioned(source_repo, dest_repo, sshd, ssh_options, 258s cli_env_vars, receive_config_path, tmp_files_path): 258s """Test push with unversioned ostree-receive""" 258s args = ( 258s source_repo, dest_repo, sshd, ssh_options, cli_env_vars, 258s receive_config_path 258s ) 258s random_commit(source_repo, tmp_files_path, 'test') 258s > run_push(*args, command='ostree-receive') 258s 258s tests/test_full.py:166: 258s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 258s tests/test_full.py:43: in run_push 258s return subprocess.run(cmd, **popen_kwargs) 258s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 258s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 258s 258s input = None, capture_output = False, timeout = None, check = True 258s 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', ...],) 258s kwargs = {'env': {'ADTTMP': '/tmp/autopkgtest.vr0SpO/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.vr0SpO/pybuild-autopk...': 'python3-defaults/3.14.2-1', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.vr0SpO/pybuild-autopkgtest-artifacts', ...}} 258s process = 258s stdout = None, stderr = None, retcode = 1 258s 258s def run(*popenargs, 258s input=None, capture_output=False, timeout=None, check=False, **kwargs): 258s """Run command with arguments and return a CompletedProcess instance. 258s 258s The returned instance will have attributes args, returncode, stdout and 258s stderr. By default, stdout and stderr are not captured, and those attributes 258s will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, 258s or pass capture_output=True to capture both. 258s 258s If check is True and the exit code was non-zero, it raises a 258s CalledProcessError. The CalledProcessError object will have the return code 258s in the returncode attribute, and output & stderr attributes if those streams 258s were captured. 258s 258s If timeout (seconds) is given and the process takes too long, 258s a TimeoutExpired exception will be raised. 258s 258s There is an optional argument "input", allowing you to 258s pass bytes or a string to the subprocess's stdin. If you use this argument 258s you may not also use the Popen constructor's "stdin" argument, as 258s it will be used internally. 258s 258s By default, all communication is in bytes, and therefore any "input" should 258s be bytes, and the stdout and stderr will be bytes. If in text mode, any 258s "input" should be a string, and stdout and stderr will be strings decoded 258s according to locale encoding, or by "encoding" if set. Text mode is 258s triggered by setting any of text, encoding, errors or universal_newlines. 258s 258s The other arguments are the same as for the Popen constructor. 258s """ 258s if input is not None: 258s if kwargs.get('stdin') is not None: 258s raise ValueError('stdin and input arguments may not both be used.') 258s kwargs['stdin'] = PIPE 258s 258s if capture_output: 258s if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: 258s raise ValueError('stdout and stderr arguments may not be used ' 258s 'with capture_output.') 258s kwargs['stdout'] = PIPE 258s kwargs['stderr'] = PIPE 258s 258s with Popen(*popenargs, **kwargs) as process: 258s try: 258s stdout, stderr = process.communicate(input, timeout=timeout) 258s except TimeoutExpired as exc: 258s process.kill() 258s if _mswindows: 258s # Windows accumulates the output in a single blocking 258s # read() call run on child threads, with the timeout 258s # being done in a join() on those threads. communicate() 258s # _after_ kill() is required to collect that and add it 258s # to the exception. 258s exc.stdout, exc.stderr = process.communicate() 258s else: 258s # POSIX _communicate already populated the output so 258s # far into the TimeoutExpired exception. 258s process.wait() 258s raise 258s except: # Including KeyboardInterrupt, communicate handled that. 258s process.kill() 258s # We don't call process.wait() as .__exit__ does that for us. 258s raise 258s retcode = process.poll() 258s if check and retcode: 258s > raise CalledProcessError(retcode, process.args, 258s output=stdout, stderr=stderr) 258s 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:51456//tmp/pytest-of-ubuntu/pytest-1/test_unversioned0/dest-repo']' returned non-zero exit status 1. 258s 258s /usr/lib/python3.14/subprocess.py:577: CalledProcessError 258s ----------------------------- Captured stderr call ----------------------------- 258s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build:/tmp/autopkgtest.vr0SpO/build.McQ/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 258s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.vr0SpO/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:51456//tmp/pytest-of-ubuntu/pytest-1/test_unversioned0/dest-repo'] 258s 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' 258s 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' 258s 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' 258s 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' 258s 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 258s INFO:otpush.push:Regenerating summary file 258s DEBUG:tests/ostree-push:sys.path=/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests:/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build:/tmp/autopkgtest.vr0SpO/build.McQ/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 258s DEBUG:tests/ostree-push:sys.argv=['/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests/ostree-push'] 258s usage: ostree-push [-h] [-n] [-p PORT] [-q] [-v] [--repo REPO] 258s [--command COMMAND] [-i OPTION] [--version] 258s DEST [REF ...] 258s ostree-push: error: the following arguments are required: DEST 258s Traceback (most recent call last): 258s File "/tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build/tests/ostree-push", line 14, in 258s push.main() 258s ~~~~~~~~~^^ 258s File "/usr/lib/python3/dist-packages/otpush/push.py", line 574, in main 258s push_refs( 258s ~~~~~~~~~^ 258s repo, 258s ^^^^^ 258s ...<4 lines>... 258s dry_run=args.dry_run, 258s ^^^^^^^^^^^^^^^^^^^^^ 258s ) 258s ^ 258s File "/usr/lib/python3/dist-packages/otpush/push.py", line 349, in push_refs 258s with RepoServer(local_repo_path) as http_server: 258s ~~~~~~~~~~^^^^^^^^^^^^^^^^^ 258s File "/usr/lib/python3/dist-packages/otpush/push.py", line 114, in __enter__ 258s self.start() 258s ~~~~~~~~~~^^ 258s File "/usr/lib/python3/dist-packages/otpush/push.py", line 141, in start 258s self.proc.start() 258s ~~~~~~~~~~~~~~~^^ 258s File "/usr/lib/python3.14/multiprocessing/process.py", line 121, in start 258s self._popen = self._Popen(self) 258s ~~~~~~~~~~~^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/context.py", line 224, in _Popen 258s return _default_context.get_context().Process._Popen(process_obj) 258s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/context.py", line 300, in _Popen 258s return Popen(process_obj) 258s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 35, in __init__ 258s super().__init__(process_obj) 258s ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/popen_fork.py", line 20, in __init__ 258s self._launch(process_obj) 258s ~~~~~~~~~~~~^^^^^^^^^^^^^ 258s File "/usr/lib/python3.14/multiprocessing/popen_forkserver.py", line 51, in _launch 258s self.sentinel, w = forkserver.connect_to_new_process(self._fds) 258s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ 259s File "/usr/lib/python3.14/multiprocessing/forkserver.py", line 106, in connect_to_new_process 259s connection.answer_challenge( 259s ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 259s wrapped_client, self._forkserver_authkey) 259s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 259s File "/usr/lib/python3.14/multiprocessing/connection.py", line 970, in answer_challenge 259s message = connection.recv_bytes(256) # reject large message 259s File "/usr/lib/python3.14/multiprocessing/connection.py", line 222, in recv_bytes 259s buf = self._recv_bytes(maxlength) 259s File "/usr/lib/python3.14/multiprocessing/connection.py", line 447, in _recv_bytes 259s buf = self._recv(4) 259s File "/usr/lib/python3.14/multiprocessing/connection.py", line 412, in _recv 259s chunk = read(handle, to_read) 259s ConnectionResetError: [Errno 104] Connection reset by peer 259s =========================== short test summary info ============================ 259s FAILED tests/test_full.py::test_no_commits - subprocess.CalledProcessError: C... 259s FAILED tests/test_full.py::test_basic - subprocess.CalledProcessError: Comman... 259s FAILED tests/test_full.py::test_dry_run - subprocess.CalledProcessError: Comm... 259s FAILED tests/test_full.py::test_scp_dest - subprocess.CalledProcessError: Com... 259s FAILED tests/test_full.py::test_command_abspath - subprocess.CalledProcessErr... 259s FAILED tests/test_full.py::test_unversioned - subprocess.CalledProcessError: ... 259s =================== 6 failed, 89 passed, 4 skipped in 33.72s =================== 259s E: pybuild pybuild:483: test: plugin pyproject failed with: exit code=1: cd /tmp/autopkgtest.vr0SpO/autopkgtest_tmp/build; python3.14 -m pytest tests 259s pybuild-autopkgtest: error: pybuild --autopkgtest --test-pytest -i python{version} -p "3.13 3.14" returned exit code 13 259s make: *** [/tmp/y8QGU_PJKI/run:4: pybuild-autopkgtest] Error 25 259s pybuild-autopkgtest: error: /tmp/y8QGU_PJKI/run pybuild-autopkgtest returned exit code 2 259s autopkgtest [19:27:16]: test pybuild-autopkgtest: -----------------------] 263s autopkgtest [19:27:20]: test pybuild-autopkgtest: - - - - - - - - - - results - - - - - - - - - - 263s pybuild-autopkgtest FAIL non-zero exit status 25 267s autopkgtest [19:27:24]: @@@@@@@@@@@@@@@@@@@@ summary 267s pybuild-autopkgtest FAIL non-zero exit status 25