0s autopkgtest [09:55:04]: starting date and time: 2024-11-14 09:55:04+0000 0s autopkgtest [09:55:04]: git checkout: 6f3be7a8 Fix armhf LXD image generation for plucky 0s autopkgtest [09:55:04]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.ia6mgtcs/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,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com\n" >> /etc/environment' --apt-pocket=proposed=src:python-psutil --apt-upgrade datalad-next --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=python-psutil/5.9.8-2build3 -- lxd -r lxd-armhf-10.145.243.142 lxd-armhf-10.145.243.142:autopkgtest/ubuntu/plucky/armhf 55s autopkgtest [09:55:59]: testbed dpkg architecture: armhf 57s autopkgtest [09:56:01]: testbed apt version: 2.9.8 57s autopkgtest [09:56:01]: @@@@@@@@@@@@@@@@@@@@ test bed setup 65s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 65s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.3 kB] 65s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [99.3 kB] 65s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 65s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [1001 kB] 65s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [103 kB] 65s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [697 kB] 66s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf Packages [5036 B] 66s Fetched 2001 kB in 1s (1566 kB/s) 66s Reading package lists... 83s tee: /proc/self/fd/2: Permission denied 107s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 107s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 107s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 107s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 108s Reading package lists... 108s Reading package lists... 109s Building dependency tree... 109s Reading state information... 109s Calculating upgrade... 110s The following packages were automatically installed and are no longer required: 110s libperl5.38t64 perl-modules-5.38 python3-netifaces 110s Use 'apt autoremove' to remove them. 110s The following NEW packages will be installed: 110s libperl5.40 perl-modules-5.40 systemd-cryptsetup 110s The following packages will be upgraded: 110s apport apport-core-dump-handler base-files base-passwd bash-completion 110s dhcpcd-base distro-info-data dpkg dpkg-dev fwupd gcc-14-base info 110s install-info iproute2 libarchive13t64 libatomic1 libattr1 110s libblockdev-crypto3 libblockdev-fs3 libblockdev-loop3 libblockdev-mdraid3 110s libblockdev-nvme3 libblockdev-part3 libblockdev-swap3 libblockdev-utils3 110s libblockdev3 libbpf1 libbsd0 libbytesize-common libbytesize1 libdb5.3t64 110s libdpkg-perl libdrm-common libdrm2 libdw1t64 libedit2 libelf1t64 libevdev2 110s libfastjson4 libflashrom1 libftdi1-2 libfwupd2 libgcc-s1 libgnutls30t64 110s libgpgme11t64 libinih1 libjson-c5 libjson-glib-1.0-0 libjson-glib-1.0-common 110s libkeyutils1 libldap-common libldap2 liblocale-gettext-perl libmaxminddb0 110s libmnl0 libnetfilter-conntrack3 libnetplan1 libnewt0.52 libnghttp2-14 110s libnspr4 libnss-systemd libnvme1t64 libpam-systemd libpipeline1 libplymouth5 110s libpng16-16t64 libpopt0 libpython3.12-minimal libpython3.12-stdlib 110s libsgutils2-1.46-2 libssh2-1t64 libstdc++6 libsystemd-shared libsystemd0 110s libtext-charwidth-perl libtext-iconv-perl libtraceevent1 110s libtraceevent1-plugin libudev1 libudisks2-0 liburcu8t64 libutempter0 110s libuv1t64 libx11-6 libx11-data libxau6 libxmlb2 mawk motd-news-config nano 110s netplan-generator netplan.io openssh-client openssh-server 110s openssh-sftp-server pci.ids perl perl-base plymouth 110s plymouth-theme-ubuntu-text python3-apport python3-certifi 110s python3-cffi-backend python3-configobj python3-gi python3-idna 110s python3-jaraco.functools python3-json-pointer python3-jsonpatch 110s python3-lazr.restfulclient python3-lazr.uri python3-more-itertools 110s python3-netplan python3-newt python3-oauthlib python3-problem-report 110s python3-typeguard python3-urllib3 python3-wadllib python3-zipp python3.12 110s python3.12-gdbm python3.12-minimal sg3-utils sg3-utils-udev ssh-import-id 110s systemd systemd-resolved systemd-sysv systemd-timesyncd tzdata udev udisks2 110s ufw usbutils vim-common vim-tiny whiptail xxd 110s 139 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. 110s Need to get 45.4 MB of archives. 110s After this operation, 43.1 MB of additional disk space will be used. 110s Get:1 http://ftpmaster.internal/ubuntu plucky/main armhf motd-news-config all 13.5ubuntu3 [5190 B] 110s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf base-files armhf 13.5ubuntu3 [75.1 kB] 110s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf dpkg armhf 1.22.11ubuntu3 [1247 kB] 111s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf perl-modules-5.40 all 5.40.0-7 [3214 kB] 112s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf libperl5.40 armhf 5.40.0-7 [4139 kB] 113s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf perl armhf 5.40.0-7 [263 kB] 113s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf perl-base armhf 5.40.0-7 [1674 kB] 113s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf liblocale-gettext-perl armhf 1.07-7build1 [15.0 kB] 113s Get:9 http://ftpmaster.internal/ubuntu plucky/main armhf libtext-iconv-perl armhf 1.7-8build4 [12.8 kB] 113s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf libtext-charwidth-perl armhf 0.04-11build4 [9128 B] 113s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf libdb5.3t64 armhf 5.3.28+dfsg2-9 [655 kB] 113s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf base-passwd armhf 3.6.5 [53.2 kB] 113s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf python3.12 armhf 3.12.7-3 [661 kB] 113s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf python3.12-minimal armhf 3.12.7-3 [2012 kB] 113s Get:15 http://ftpmaster.internal/ubuntu plucky/main armhf libpython3.12-stdlib armhf 3.12.7-3 [1934 kB] 114s Get:16 http://ftpmaster.internal/ubuntu plucky/main armhf libpython3.12-minimal armhf 3.12.7-3 [822 kB] 114s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf tzdata all 2024b-1ubuntu2 [274 kB] 114s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf libnss-systemd armhf 256.5-2ubuntu4 [155 kB] 114s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf systemd-timesyncd armhf 256.5-2ubuntu4 [40.7 kB] 114s Get:20 http://ftpmaster.internal/ubuntu plucky/main armhf systemd-resolved armhf 256.5-2ubuntu4 [309 kB] 114s Get:21 http://ftpmaster.internal/ubuntu plucky/main armhf libsystemd-shared armhf 256.5-2ubuntu4 [2129 kB] 114s Get:22 http://ftpmaster.internal/ubuntu plucky/main armhf libsystemd0 armhf 256.5-2ubuntu4 [428 kB] 114s Get:23 http://ftpmaster.internal/ubuntu plucky/main armhf systemd-sysv armhf 256.5-2ubuntu4 [11.9 kB] 114s Get:24 http://ftpmaster.internal/ubuntu plucky/main armhf libpam-systemd armhf 256.5-2ubuntu4 [226 kB] 114s Get:25 http://ftpmaster.internal/ubuntu plucky/main armhf systemd armhf 256.5-2ubuntu4 [3442 kB] 114s Get:26 http://ftpmaster.internal/ubuntu plucky/main armhf udev armhf 256.5-2ubuntu4 [1949 kB] 114s Get:27 http://ftpmaster.internal/ubuntu plucky/main armhf libudev1 armhf 256.5-2ubuntu4 [188 kB] 114s Get:28 http://ftpmaster.internal/ubuntu plucky/main armhf python3-problem-report all 2.30.0-0ubuntu5 [25.0 kB] 114s Get:29 http://ftpmaster.internal/ubuntu plucky/main armhf python3-apport all 2.30.0-0ubuntu5 [93.2 kB] 114s Get:30 http://ftpmaster.internal/ubuntu plucky/main armhf python3-gi armhf 3.50.0-3 [227 kB] 114s Get:31 http://ftpmaster.internal/ubuntu plucky/main armhf apport-core-dump-handler all 2.30.0-0ubuntu5 [17.9 kB] 114s Get:32 http://ftpmaster.internal/ubuntu plucky/main armhf apport all 2.30.0-0ubuntu5 [83.0 kB] 114s Get:33 http://ftpmaster.internal/ubuntu plucky/main armhf libbsd0 armhf 0.12.2-2 [36.8 kB] 114s Get:34 http://ftpmaster.internal/ubuntu plucky/main armhf libedit2 armhf 3.1-20240808-1 [79.0 kB] 114s Get:35 http://ftpmaster.internal/ubuntu plucky/main armhf openssh-sftp-server armhf 1:9.7p1-7ubuntu5 [35.4 kB] 114s Get:36 http://ftpmaster.internal/ubuntu plucky/main armhf openssh-server armhf 1:9.7p1-7ubuntu5 [505 kB] 114s Get:37 http://ftpmaster.internal/ubuntu plucky/main armhf openssh-client armhf 1:9.7p1-7ubuntu5 [889 kB] 114s Get:38 http://ftpmaster.internal/ubuntu plucky/main armhf libatomic1 armhf 14.2.0-8ubuntu1 [7846 B] 114s Get:39 http://ftpmaster.internal/ubuntu plucky/main armhf gcc-14-base armhf 14.2.0-8ubuntu1 [51.5 kB] 114s Get:40 http://ftpmaster.internal/ubuntu plucky/main armhf libstdc++6 armhf 14.2.0-8ubuntu1 [711 kB] 114s Get:41 http://ftpmaster.internal/ubuntu plucky/main armhf libgcc-s1 armhf 14.2.0-8ubuntu1 [40.8 kB] 114s Get:42 http://ftpmaster.internal/ubuntu plucky/main armhf libattr1 armhf 1:2.5.2-2 [10.5 kB] 114s Get:43 http://ftpmaster.internal/ubuntu plucky/main armhf libgnutls30t64 armhf 3.8.8-2ubuntu1 [955 kB] 114s Get:44 http://ftpmaster.internal/ubuntu plucky/main armhf install-info armhf 7.1.1-1 [61.4 kB] 114s Get:45 http://ftpmaster.internal/ubuntu plucky/main armhf mawk armhf 1.3.4.20240905-1 [116 kB] 114s Get:46 http://ftpmaster.internal/ubuntu plucky/main armhf dhcpcd-base armhf 1:10.1.0-2 [188 kB] 114s Get:47 http://ftpmaster.internal/ubuntu plucky/main armhf distro-info-data all 0.63 [6588 B] 114s Get:48 http://ftpmaster.internal/ubuntu plucky/main armhf libdw1t64 armhf 0.192-4 [243 kB] 114s Get:49 http://ftpmaster.internal/ubuntu plucky/main armhf libelf1t64 armhf 0.192-4 [50.2 kB] 115s Get:50 http://ftpmaster.internal/ubuntu plucky/main armhf libbpf1 armhf 1:1.5.0-1 [158 kB] 115s Get:51 http://ftpmaster.internal/ubuntu plucky/main armhf libmnl0 armhf 1.0.5-3 [10.7 kB] 115s Get:52 http://ftpmaster.internal/ubuntu plucky/main armhf iproute2 armhf 6.10.0-2ubuntu1 [1082 kB] 115s Get:53 http://ftpmaster.internal/ubuntu plucky/main armhf libfastjson4 armhf 1.2304.0-2 [20.2 kB] 115s Get:54 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-c5 armhf 0.18+ds-1 [33.2 kB] 115s Get:55 http://ftpmaster.internal/ubuntu plucky/main armhf libkeyutils1 armhf 1.6.3-4ubuntu2 [8712 B] 115s Get:56 http://ftpmaster.internal/ubuntu plucky/main armhf netplan-generator armhf 1.1.1-1 [60.4 kB] 115s Get:57 http://ftpmaster.internal/ubuntu plucky/main armhf python3-cffi-backend armhf 1.17.1-2 [68.7 kB] 115s Get:58 http://ftpmaster.internal/ubuntu plucky/main armhf python3-netplan armhf 1.1.1-1 [24.1 kB] 115s Get:59 http://ftpmaster.internal/ubuntu plucky/main armhf netplan.io armhf 1.1.1-1 [66.4 kB] 115s Get:60 http://ftpmaster.internal/ubuntu plucky/main armhf libnetplan1 armhf 1.1.1-1 [122 kB] 115s Get:61 http://ftpmaster.internal/ubuntu plucky/main armhf python3-newt armhf 0.52.24-2ubuntu4 [19.7 kB] 115s Get:62 http://ftpmaster.internal/ubuntu plucky/main armhf libnewt0.52 armhf 0.52.24-2ubuntu4 [39.2 kB] 115s Get:63 http://ftpmaster.internal/ubuntu plucky/main armhf libpopt0 armhf 1.19+dfsg-2 [25.4 kB] 115s Get:64 http://ftpmaster.internal/ubuntu plucky/main armhf vim-tiny armhf 2:9.1.0777-1ubuntu1 [693 kB] 115s Get:65 http://ftpmaster.internal/ubuntu plucky/main armhf vim-common all 2:9.1.0777-1ubuntu1 [394 kB] 115s Get:66 http://ftpmaster.internal/ubuntu plucky/main armhf whiptail armhf 0.52.24-2ubuntu4 [17.2 kB] 115s Get:67 http://ftpmaster.internal/ubuntu plucky/main armhf xxd armhf 2:9.1.0777-1ubuntu1 [66.8 kB] 115s Get:68 http://ftpmaster.internal/ubuntu plucky/main armhf bash-completion all 1:2.14.0-2 [210 kB] 115s Get:69 http://ftpmaster.internal/ubuntu plucky/main armhf info armhf 7.1.1-1 [126 kB] 115s Get:70 http://ftpmaster.internal/ubuntu plucky/main armhf libdrm-common all 2.4.123-1 [8436 B] 115s Get:71 http://ftpmaster.internal/ubuntu plucky/main armhf libdrm2 armhf 2.4.123-1 [36.5 kB] 115s Get:72 http://ftpmaster.internal/ubuntu plucky/main armhf libevdev2 armhf 1.13.3+dfsg-1 [29.7 kB] 115s Get:73 http://ftpmaster.internal/ubuntu plucky/main armhf libmaxminddb0 armhf 1.11.0-1 [16.8 kB] 115s Get:74 http://ftpmaster.internal/ubuntu plucky/main armhf libnetfilter-conntrack3 armhf 1.1.0-1 [38.4 kB] 115s Get:75 http://ftpmaster.internal/ubuntu plucky/main armhf libnghttp2-14 armhf 1.64.0-1 [68.9 kB] 115s Get:76 http://ftpmaster.internal/ubuntu plucky/main armhf libpipeline1 armhf 1.5.8-1 [26.9 kB] 115s Get:77 http://ftpmaster.internal/ubuntu plucky/main armhf libpng16-16t64 armhf 1.6.44-2 [168 kB] 115s Get:78 http://ftpmaster.internal/ubuntu plucky/main armhf libplymouth5 armhf 24.004.60-1ubuntu11 [140 kB] 115s Get:79 http://ftpmaster.internal/ubuntu plucky/main armhf libtraceevent1-plugin armhf 1:1.8.3-1ubuntu1 [18.1 kB] 115s Get:80 http://ftpmaster.internal/ubuntu plucky/main armhf libtraceevent1 armhf 1:1.8.3-1ubuntu1 [52.1 kB] 115s Get:81 http://ftpmaster.internal/ubuntu plucky/main armhf liburcu8t64 armhf 0.14.1-1 [56.6 kB] 115s Get:82 http://ftpmaster.internal/ubuntu plucky/main armhf libuv1t64 armhf 1.48.0-7 [83.3 kB] 115s Get:83 http://ftpmaster.internal/ubuntu plucky/main armhf libx11-data all 2:1.8.10-2 [116 kB] 115s Get:84 http://ftpmaster.internal/ubuntu plucky/main armhf libx11-6 armhf 2:1.8.10-2 [587 kB] 115s Get:85 http://ftpmaster.internal/ubuntu plucky/main armhf libxau6 armhf 1:1.0.11-1 [6558 B] 115s Get:86 http://ftpmaster.internal/ubuntu plucky/main armhf nano armhf 8.2-1 [276 kB] 115s Get:87 http://ftpmaster.internal/ubuntu plucky/main armhf pci.ids all 0.0~2024.10.24-1 [279 kB] 115s Get:88 http://ftpmaster.internal/ubuntu plucky/main armhf plymouth-theme-ubuntu-text armhf 24.004.60-1ubuntu11 [9920 B] 115s Get:89 http://ftpmaster.internal/ubuntu plucky/main armhf plymouth armhf 24.004.60-1ubuntu11 [142 kB] 115s Get:90 http://ftpmaster.internal/ubuntu plucky/main armhf python3.12-gdbm armhf 3.12.7-3 [28.7 kB] 115s Get:91 http://ftpmaster.internal/ubuntu plucky/main armhf ufw all 0.36.2-8 [170 kB] 115s Get:92 http://ftpmaster.internal/ubuntu plucky/main armhf usbutils armhf 1:018-1 [76.1 kB] 115s Get:93 http://ftpmaster.internal/ubuntu plucky/main armhf dpkg-dev all 1.22.11ubuntu3 [1088 kB] 115s Get:94 http://ftpmaster.internal/ubuntu plucky/main armhf libdpkg-perl all 1.22.11ubuntu3 [279 kB] 115s Get:95 http://ftpmaster.internal/ubuntu plucky/main armhf libarchive13t64 armhf 3.7.4-1.1 [331 kB] 115s Get:96 http://ftpmaster.internal/ubuntu plucky/main armhf libftdi1-2 armhf 1.5-7 [25.7 kB] 115s Get:97 http://ftpmaster.internal/ubuntu plucky/main armhf libflashrom1 armhf 1.4.0-3ubuntu1 [141 kB] 115s Get:98 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-glib-1.0-common all 1.10.0+ds-3 [5586 B] 115s Get:99 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-glib-1.0-0 armhf 1.10.0+ds-3 [61.7 kB] 115s Get:100 http://ftpmaster.internal/ubuntu plucky/main armhf libfwupd2 armhf 1.9.26-2 [125 kB] 115s Get:101 http://ftpmaster.internal/ubuntu plucky/main armhf libxmlb2 armhf 0.3.21-1 [57.7 kB] 115s Get:102 http://ftpmaster.internal/ubuntu plucky/main armhf fwupd armhf 1.9.26-2 [4404 kB] 116s Get:103 http://ftpmaster.internal/ubuntu plucky/main armhf libblockdev-utils3 armhf 3.2.1-1 [17.4 kB] 116s Get:104 http://ftpmaster.internal/ubuntu plucky/main armhf libblockdev-crypto3 armhf 3.2.1-1 [22.4 kB] 116s Get:105 http://ftpmaster.internal/ubuntu plucky/main armhf libblockdev-fs3 armhf 3.2.1-1 [34.3 kB] 116s Get:106 http://ftpmaster.internal/ubuntu plucky/main armhf libblockdev-loop3 armhf 3.2.1-1 [6552 B] 116s Get:107 http://ftpmaster.internal/ubuntu plucky/main armhf libbytesize1 armhf 2.11-1ubuntu1 [12.0 kB] 116s Get:108 http://ftpmaster.internal/ubuntu plucky/main armhf libbytesize-common all 2.11-1ubuntu1 [3584 B] 116s Get:109 http://ftpmaster.internal/ubuntu plucky/main armhf libblockdev-mdraid3 armhf 3.2.1-1 [13.4 kB] 116s Get:110 http://ftpmaster.internal/ubuntu plucky/main armhf libnvme1t64 armhf 1.11-1 [73.8 kB] 116s Get:111 http://ftpmaster.internal/ubuntu plucky/main armhf libblockdev-nvme3 armhf 3.2.1-1 [17.6 kB] 116s Get:112 http://ftpmaster.internal/ubuntu plucky/main armhf libblockdev-part3 armhf 3.2.1-1 [16.5 kB] 116s Get:113 http://ftpmaster.internal/ubuntu plucky/main armhf libblockdev-swap3 armhf 3.2.1-1 [8952 B] 116s Get:114 http://ftpmaster.internal/ubuntu plucky/main armhf libblockdev3 armhf 3.2.1-1 [44.2 kB] 116s Get:115 http://ftpmaster.internal/ubuntu plucky/main armhf libgpgme11t64 armhf 1.23.2-5ubuntu4 [123 kB] 116s Get:116 http://ftpmaster.internal/ubuntu plucky/main armhf libinih1 armhf 58-1ubuntu1 [6750 B] 116s Get:117 http://ftpmaster.internal/ubuntu plucky/main armhf libldap-common all 2.6.8+dfsg-1~exp4ubuntu3 [32.3 kB] 116s Get:118 http://ftpmaster.internal/ubuntu plucky/main armhf libldap2 armhf 2.6.8+dfsg-1~exp4ubuntu3 [173 kB] 116s Get:119 http://ftpmaster.internal/ubuntu plucky/main armhf libnspr4 armhf 2:4.35-1.1ubuntu2 [94.1 kB] 116s Get:120 http://ftpmaster.internal/ubuntu plucky/main armhf libsgutils2-1.46-2 armhf 1.46-3ubuntu5 [82.5 kB] 116s Get:121 http://ftpmaster.internal/ubuntu plucky/main armhf libssh2-1t64 armhf 1.11.1-1 [116 kB] 116s Get:122 http://ftpmaster.internal/ubuntu plucky/main armhf udisks2 armhf 2.10.1-11ubuntu1 [278 kB] 116s Get:123 http://ftpmaster.internal/ubuntu plucky/main armhf libudisks2-0 armhf 2.10.1-11ubuntu1 [142 kB] 116s Get:124 http://ftpmaster.internal/ubuntu plucky/main armhf libutempter0 armhf 1.2.1-4 [9062 B] 116s Get:125 http://ftpmaster.internal/ubuntu plucky/main armhf python3-certifi all 2024.8.30+dfsg-1 [9742 B] 116s Get:126 http://ftpmaster.internal/ubuntu plucky/main armhf python3-configobj all 5.0.9-1 [33.9 kB] 116s Get:127 http://ftpmaster.internal/ubuntu plucky/main armhf python3-idna all 3.8-2 [47.0 kB] 116s Get:128 http://ftpmaster.internal/ubuntu plucky/main armhf python3-more-itertools all 10.5.0-1 [56.2 kB] 116s Get:129 http://ftpmaster.internal/ubuntu plucky/main armhf python3-jaraco.functools all 4.1.0-1 [11.8 kB] 116s Get:130 http://ftpmaster.internal/ubuntu plucky/main armhf python3-json-pointer all 2.4-2 [8396 B] 116s Get:131 http://ftpmaster.internal/ubuntu plucky/main armhf python3-jsonpatch all 1.32-4 [12.2 kB] 116s Get:132 http://ftpmaster.internal/ubuntu plucky/main armhf python3-lazr.uri all 1.0.6-4 [13.6 kB] 116s Get:133 http://ftpmaster.internal/ubuntu plucky/main armhf python3-wadllib all 2.0.0-1 [36.7 kB] 116s Get:134 http://ftpmaster.internal/ubuntu plucky/main armhf python3-oauthlib all 3.2.2-2 [89.8 kB] 116s Get:135 http://ftpmaster.internal/ubuntu plucky/main armhf python3-lazr.restfulclient all 0.14.6-2 [50.9 kB] 116s Get:136 http://ftpmaster.internal/ubuntu plucky/main armhf python3-typeguard all 4.4.1-1 [29.0 kB] 116s Get:137 http://ftpmaster.internal/ubuntu plucky/main armhf python3-urllib3 all 2.0.7-2ubuntu0.1 [93.1 kB] 116s Get:138 http://ftpmaster.internal/ubuntu plucky/main armhf python3-zipp all 3.21.0-1 [10.2 kB] 116s Get:139 http://ftpmaster.internal/ubuntu plucky/main armhf sg3-utils armhf 1.46-3ubuntu5 [816 kB] 116s Get:140 http://ftpmaster.internal/ubuntu plucky/main armhf sg3-utils-udev all 1.46-3ubuntu5 [5916 B] 116s Get:141 http://ftpmaster.internal/ubuntu plucky/main armhf systemd-cryptsetup armhf 256.5-2ubuntu4 [122 kB] 116s Get:142 http://ftpmaster.internal/ubuntu plucky/main armhf ssh-import-id all 5.11-0ubuntu3 [10.1 kB] 117s Preconfiguring packages ... 117s Fetched 45.4 MB in 7s (6904 kB/s) 117s (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 ... 59386 files and directories currently installed.) 117s Preparing to unpack .../motd-news-config_13.5ubuntu3_all.deb ... 117s Unpacking motd-news-config (13.5ubuntu3) over (13.3ubuntu6) ... 117s Preparing to unpack .../base-files_13.5ubuntu3_armhf.deb ... 118s Unpacking base-files (13.5ubuntu3) over (13.3ubuntu6) ... 118s Setting up base-files (13.5ubuntu3) ... 118s Installing new version of config file /etc/issue ... 118s Installing new version of config file /etc/issue.net ... 118s Installing new version of config file /etc/lsb-release ... 118s motd-news.service is a disabled or a static unit not running, not starting it. 118s (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 ... 59386 files and directories currently installed.) 118s Preparing to unpack .../dpkg_1.22.11ubuntu3_armhf.deb ... 118s Unpacking dpkg (1.22.11ubuntu3) over (1.22.11ubuntu1) ... 119s Setting up dpkg (1.22.11ubuntu3) ... 119s (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 ... 59386 files and directories currently installed.) 119s Preparing to unpack .../perl_5.40.0-7_armhf.deb ... 119s Unpacking perl (5.40.0-7) over (5.38.2-5) ... 119s Selecting previously unselected package perl-modules-5.40. 119s Preparing to unpack .../perl-modules-5.40_5.40.0-7_all.deb ... 119s Unpacking perl-modules-5.40 (5.40.0-7) ... 119s Selecting previously unselected package libperl5.40:armhf. 119s Preparing to unpack .../libperl5.40_5.40.0-7_armhf.deb ... 119s Unpacking libperl5.40:armhf (5.40.0-7) ... 120s Preparing to unpack .../perl-base_5.40.0-7_armhf.deb ... 120s Unpacking perl-base (5.40.0-7) over (5.38.2-5) ... 120s Setting up perl-base (5.40.0-7) ... 120s (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 ... 61464 files and directories currently installed.) 120s Preparing to unpack .../liblocale-gettext-perl_1.07-7build1_armhf.deb ... 120s Unpacking liblocale-gettext-perl (1.07-7build1) over (1.07-7) ... 120s Preparing to unpack .../libtext-iconv-perl_1.7-8build4_armhf.deb ... 120s Unpacking libtext-iconv-perl:armhf (1.7-8build4) over (1.7-8build3) ... 120s Preparing to unpack .../libtext-charwidth-perl_0.04-11build4_armhf.deb ... 120s Unpacking libtext-charwidth-perl:armhf (0.04-11build4) over (0.04-11build3) ... 120s Preparing to unpack .../libdb5.3t64_5.3.28+dfsg2-9_armhf.deb ... 120s Unpacking libdb5.3t64:armhf (5.3.28+dfsg2-9) over (5.3.28+dfsg2-7) ... 120s Setting up libdb5.3t64:armhf (5.3.28+dfsg2-9) ... 120s (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 ... 61464 files and directories currently installed.) 120s Preparing to unpack .../base-passwd_3.6.5_armhf.deb ... 120s Unpacking base-passwd (3.6.5) over (3.6.4) ... 120s Setting up base-passwd (3.6.5) ... 120s (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 ... 61465 files and directories currently installed.) 120s Preparing to unpack .../0-python3.12_3.12.7-3_armhf.deb ... 120s Unpacking python3.12 (3.12.7-3) over (3.12.7-1) ... 121s Preparing to unpack .../1-python3.12-minimal_3.12.7-3_armhf.deb ... 121s Unpacking python3.12-minimal (3.12.7-3) over (3.12.7-1) ... 121s Preparing to unpack .../2-libpython3.12-stdlib_3.12.7-3_armhf.deb ... 121s Unpacking libpython3.12-stdlib:armhf (3.12.7-3) over (3.12.7-1) ... 121s Preparing to unpack .../3-libpython3.12-minimal_3.12.7-3_armhf.deb ... 121s Unpacking libpython3.12-minimal:armhf (3.12.7-3) over (3.12.7-1) ... 121s Preparing to unpack .../4-tzdata_2024b-1ubuntu2_all.deb ... 121s Unpacking tzdata (2024b-1ubuntu2) over (2024a-4ubuntu1) ... 121s Preparing to unpack .../5-libnss-systemd_256.5-2ubuntu4_armhf.deb ... 121s Unpacking libnss-systemd:armhf (256.5-2ubuntu4) over (256.5-2ubuntu3) ... 121s Preparing to unpack .../6-systemd-timesyncd_256.5-2ubuntu4_armhf.deb ... 121s Unpacking systemd-timesyncd (256.5-2ubuntu4) over (256.5-2ubuntu3) ... 121s Preparing to unpack .../7-systemd-resolved_256.5-2ubuntu4_armhf.deb ... 121s Unpacking systemd-resolved (256.5-2ubuntu4) over (256.5-2ubuntu3) ... 121s Preparing to unpack .../8-libsystemd-shared_256.5-2ubuntu4_armhf.deb ... 121s Unpacking libsystemd-shared:armhf (256.5-2ubuntu4) over (256.5-2ubuntu3) ... 122s Preparing to unpack .../9-libsystemd0_256.5-2ubuntu4_armhf.deb ... 122s Unpacking libsystemd0:armhf (256.5-2ubuntu4) over (256.5-2ubuntu3) ... 122s Setting up libsystemd0:armhf (256.5-2ubuntu4) ... 122s (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 ... 61464 files and directories currently installed.) 122s Preparing to unpack .../systemd-sysv_256.5-2ubuntu4_armhf.deb ... 122s Unpacking systemd-sysv (256.5-2ubuntu4) over (256.5-2ubuntu3) ... 122s Preparing to unpack .../libpam-systemd_256.5-2ubuntu4_armhf.deb ... 122s Unpacking libpam-systemd:armhf (256.5-2ubuntu4) over (256.5-2ubuntu3) ... 122s Preparing to unpack .../systemd_256.5-2ubuntu4_armhf.deb ... 122s Unpacking systemd (256.5-2ubuntu4) over (256.5-2ubuntu3) ... 122s Preparing to unpack .../udev_256.5-2ubuntu4_armhf.deb ... 122s Unpacking udev (256.5-2ubuntu4) over (256.5-2ubuntu3) ... 122s Preparing to unpack .../libudev1_256.5-2ubuntu4_armhf.deb ... 122s Unpacking libudev1:armhf (256.5-2ubuntu4) over (256.5-2ubuntu3) ... 122s Setting up libudev1:armhf (256.5-2ubuntu4) ... 122s (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 ... 61464 files and directories currently installed.) 122s Preparing to unpack .../0-python3-problem-report_2.30.0-0ubuntu5_all.deb ... 123s Unpacking python3-problem-report (2.30.0-0ubuntu5) over (2.30.0-0ubuntu4) ... 123s Preparing to unpack .../1-python3-apport_2.30.0-0ubuntu5_all.deb ... 123s Unpacking python3-apport (2.30.0-0ubuntu5) over (2.30.0-0ubuntu4) ... 123s Preparing to unpack .../2-python3-gi_3.50.0-3_armhf.deb ... 123s Unpacking python3-gi (3.50.0-3) over (3.48.2-1) ... 123s Preparing to unpack .../3-apport-core-dump-handler_2.30.0-0ubuntu5_all.deb ... 123s Unpacking apport-core-dump-handler (2.30.0-0ubuntu5) over (2.30.0-0ubuntu4) ... 123s Preparing to unpack .../4-apport_2.30.0-0ubuntu5_all.deb ... 123s Unpacking apport (2.30.0-0ubuntu5) over (2.30.0-0ubuntu4) ... 123s Preparing to unpack .../5-libbsd0_0.12.2-2_armhf.deb ... 123s Unpacking libbsd0:armhf (0.12.2-2) over (0.12.2-1) ... 123s Setting up libbsd0:armhf (0.12.2-2) ... 123s (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 ... 61456 files and directories currently installed.) 123s Preparing to unpack .../0-libedit2_3.1-20240808-1_armhf.deb ... 123s Unpacking libedit2:armhf (3.1-20240808-1) over (3.1-20240517-1) ... 123s Preparing to unpack .../1-openssh-sftp-server_1%3a9.7p1-7ubuntu5_armhf.deb ... 123s Unpacking openssh-sftp-server (1:9.7p1-7ubuntu5) over (1:9.7p1-7ubuntu4) ... 123s Preparing to unpack .../2-openssh-server_1%3a9.7p1-7ubuntu5_armhf.deb ... 123s Unpacking openssh-server (1:9.7p1-7ubuntu5) over (1:9.7p1-7ubuntu4) ... 124s Preparing to unpack .../3-openssh-client_1%3a9.7p1-7ubuntu5_armhf.deb ... 124s Unpacking openssh-client (1:9.7p1-7ubuntu5) over (1:9.7p1-7ubuntu4) ... 124s Preparing to unpack .../4-libatomic1_14.2.0-8ubuntu1_armhf.deb ... 124s Unpacking libatomic1:armhf (14.2.0-8ubuntu1) over (14.2.0-4ubuntu2) ... 124s Preparing to unpack .../5-gcc-14-base_14.2.0-8ubuntu1_armhf.deb ... 124s Unpacking gcc-14-base:armhf (14.2.0-8ubuntu1) over (14.2.0-4ubuntu2) ... 124s Setting up gcc-14-base:armhf (14.2.0-8ubuntu1) ... 124s (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 ... 61456 files and directories currently installed.) 124s Preparing to unpack .../libstdc++6_14.2.0-8ubuntu1_armhf.deb ... 124s Unpacking libstdc++6:armhf (14.2.0-8ubuntu1) over (14.2.0-4ubuntu2) ... 124s Setting up libstdc++6:armhf (14.2.0-8ubuntu1) ... 124s (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 ... 61456 files and directories currently installed.) 124s Preparing to unpack .../libgcc-s1_14.2.0-8ubuntu1_armhf.deb ... 124s Unpacking libgcc-s1:armhf (14.2.0-8ubuntu1) over (14.2.0-4ubuntu2) ... 124s Setting up libgcc-s1:armhf (14.2.0-8ubuntu1) ... 124s (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 ... 61456 files and directories currently installed.) 124s Preparing to unpack .../libattr1_1%3a2.5.2-2_armhf.deb ... 124s Unpacking libattr1:armhf (1:2.5.2-2) over (1:2.5.2-1build2) ... 124s Setting up libattr1:armhf (1:2.5.2-2) ... 125s (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 ... 61456 files and directories currently installed.) 125s Preparing to unpack .../libgnutls30t64_3.8.8-2ubuntu1_armhf.deb ... 125s Unpacking libgnutls30t64:armhf (3.8.8-2ubuntu1) over (3.8.6-2ubuntu1) ... 125s Setting up libgnutls30t64:armhf (3.8.8-2ubuntu1) ... 125s (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 ... 61456 files and directories currently installed.) 125s Preparing to unpack .../install-info_7.1.1-1_armhf.deb ... 125s Unpacking install-info (7.1.1-1) over (7.1-3build2) ... 125s Setting up install-info (7.1.1-1) ... 125s (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 ... 61456 files and directories currently installed.) 125s Preparing to unpack .../00-mawk_1.3.4.20240905-1_armhf.deb ... 125s Unpacking mawk (1.3.4.20240905-1) over (1.3.4.20240622-2) ... 125s Preparing to unpack .../01-dhcpcd-base_1%3a10.1.0-2_armhf.deb ... 125s Unpacking dhcpcd-base (1:10.1.0-2) over (1:10.0.8-3) ... 125s Preparing to unpack .../02-distro-info-data_0.63_all.deb ... 125s Unpacking distro-info-data (0.63) over (0.62) ... 125s Preparing to unpack .../03-libdw1t64_0.192-4_armhf.deb ... 125s Unpacking libdw1t64:armhf (0.192-4) over (0.191-2) ... 125s Preparing to unpack .../04-libelf1t64_0.192-4_armhf.deb ... 125s Unpacking libelf1t64:armhf (0.192-4) over (0.191-2) ... 125s Preparing to unpack .../05-libbpf1_1%3a1.5.0-1_armhf.deb ... 125s Unpacking libbpf1:armhf (1:1.5.0-1) over (1:1.4.5-1) ... 125s Preparing to unpack .../06-libmnl0_1.0.5-3_armhf.deb ... 125s Unpacking libmnl0:armhf (1.0.5-3) over (1.0.5-2build1) ... 125s Preparing to unpack .../07-iproute2_6.10.0-2ubuntu1_armhf.deb ... 125s Unpacking iproute2 (6.10.0-2ubuntu1) over (6.10.0-2) ... 126s Preparing to unpack .../08-libfastjson4_1.2304.0-2_armhf.deb ... 126s Unpacking libfastjson4:armhf (1.2304.0-2) over (1.2304.0-1build1) ... 126s Preparing to unpack .../09-libjson-c5_0.18+ds-1_armhf.deb ... 126s Unpacking libjson-c5:armhf (0.18+ds-1) over (0.17-1build1) ... 126s Preparing to unpack .../10-libkeyutils1_1.6.3-4ubuntu2_armhf.deb ... 126s Unpacking libkeyutils1:armhf (1.6.3-4ubuntu2) over (1.6.3-3build1) ... 126s Preparing to unpack .../11-netplan-generator_1.1.1-1_armhf.deb ... 126s Adding 'diversion of /lib/systemd/system-generators/netplan to /lib/systemd/system-generators/netplan.usr-is-merged by netplan-generator' 126s Unpacking netplan-generator (1.1.1-1) over (1.1-1) ... 126s Preparing to unpack .../12-python3-cffi-backend_1.17.1-2_armhf.deb ... 126s Unpacking python3-cffi-backend:armhf (1.17.1-2) over (1.17.1-1) ... 126s Preparing to unpack .../13-python3-netplan_1.1.1-1_armhf.deb ... 126s Unpacking python3-netplan (1.1.1-1) over (1.1-1) ... 126s Preparing to unpack .../14-netplan.io_1.1.1-1_armhf.deb ... 126s Unpacking netplan.io (1.1.1-1) over (1.1-1) ... 126s Preparing to unpack .../15-libnetplan1_1.1.1-1_armhf.deb ... 126s Unpacking libnetplan1:armhf (1.1.1-1) over (1.1-1) ... 126s Preparing to unpack .../16-python3-newt_0.52.24-2ubuntu4_armhf.deb ... 126s Unpacking python3-newt:armhf (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 126s Preparing to unpack .../17-libnewt0.52_0.52.24-2ubuntu4_armhf.deb ... 126s Unpacking libnewt0.52:armhf (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 126s Preparing to unpack .../18-libpopt0_1.19+dfsg-2_armhf.deb ... 126s Unpacking libpopt0:armhf (1.19+dfsg-2) over (1.19+dfsg-1build1) ... 126s Preparing to unpack .../19-vim-tiny_2%3a9.1.0777-1ubuntu1_armhf.deb ... 126s Unpacking vim-tiny (2:9.1.0777-1ubuntu1) over (2:9.1.0496-1ubuntu6) ... 126s Preparing to unpack .../20-vim-common_2%3a9.1.0777-1ubuntu1_all.deb ... 126s Unpacking vim-common (2:9.1.0777-1ubuntu1) over (2:9.1.0496-1ubuntu6) ... 126s Preparing to unpack .../21-whiptail_0.52.24-2ubuntu4_armhf.deb ... 126s Unpacking whiptail (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 126s Preparing to unpack .../22-xxd_2%3a9.1.0777-1ubuntu1_armhf.deb ... 126s Unpacking xxd (2:9.1.0777-1ubuntu1) over (2:9.1.0496-1ubuntu6) ... 126s Preparing to unpack .../23-bash-completion_1%3a2.14.0-2_all.deb ... 126s Unpacking bash-completion (1:2.14.0-2) over (1:2.14.0-1) ... 127s Preparing to unpack .../24-info_7.1.1-1_armhf.deb ... 127s Unpacking info (7.1.1-1) over (7.1-3build2) ... 127s Preparing to unpack .../25-libdrm-common_2.4.123-1_all.deb ... 127s Unpacking libdrm-common (2.4.123-1) over (2.4.122-1) ... 127s Preparing to unpack .../26-libdrm2_2.4.123-1_armhf.deb ... 127s Unpacking libdrm2:armhf (2.4.123-1) over (2.4.122-1) ... 127s Preparing to unpack .../27-libevdev2_1.13.3+dfsg-1_armhf.deb ... 127s Unpacking libevdev2:armhf (1.13.3+dfsg-1) over (1.13.2+dfsg-1) ... 127s Preparing to unpack .../28-libmaxminddb0_1.11.0-1_armhf.deb ... 127s Unpacking libmaxminddb0:armhf (1.11.0-1) over (1.10.0-1) ... 127s Preparing to unpack .../29-libnetfilter-conntrack3_1.1.0-1_armhf.deb ... 127s Unpacking libnetfilter-conntrack3:armhf (1.1.0-1) over (1.0.9-6build1) ... 127s Preparing to unpack .../30-libnghttp2-14_1.64.0-1_armhf.deb ... 127s Unpacking libnghttp2-14:armhf (1.64.0-1) over (1.62.1-2) ... 127s Preparing to unpack .../31-libpipeline1_1.5.8-1_armhf.deb ... 127s Unpacking libpipeline1:armhf (1.5.8-1) over (1.5.7-2) ... 127s Preparing to unpack .../32-libpng16-16t64_1.6.44-2_armhf.deb ... 127s Unpacking libpng16-16t64:armhf (1.6.44-2) over (1.6.44-1) ... 127s Preparing to unpack .../33-libplymouth5_24.004.60-1ubuntu11_armhf.deb ... 127s Unpacking libplymouth5:armhf (24.004.60-1ubuntu11) over (24.004.60-1ubuntu10) ... 127s Preparing to unpack .../34-libtraceevent1-plugin_1%3a1.8.3-1ubuntu1_armhf.deb ... 127s Unpacking libtraceevent1-plugin:armhf (1:1.8.3-1ubuntu1) over (1:1.8.2-1ubuntu3) ... 127s Preparing to unpack .../35-libtraceevent1_1%3a1.8.3-1ubuntu1_armhf.deb ... 127s Unpacking libtraceevent1:armhf (1:1.8.3-1ubuntu1) over (1:1.8.2-1ubuntu3) ... 127s Preparing to unpack .../36-liburcu8t64_0.14.1-1_armhf.deb ... 127s Unpacking liburcu8t64:armhf (0.14.1-1) over (0.14.0-4) ... 127s Preparing to unpack .../37-libuv1t64_1.48.0-7_armhf.deb ... 127s Unpacking libuv1t64:armhf (1.48.0-7) over (1.48.0-5) ... 127s Preparing to unpack .../38-libx11-data_2%3a1.8.10-2_all.deb ... 127s Unpacking libx11-data (2:1.8.10-2) over (2:1.8.7-1build1) ... 127s Preparing to unpack .../39-libx11-6_2%3a1.8.10-2_armhf.deb ... 127s Unpacking libx11-6:armhf (2:1.8.10-2) over (2:1.8.7-1build1) ... 127s Preparing to unpack .../40-libxau6_1%3a1.0.11-1_armhf.deb ... 127s Unpacking libxau6:armhf (1:1.0.11-1) over (1:1.0.9-1build6) ... 128s Preparing to unpack .../41-nano_8.2-1_armhf.deb ... 128s Unpacking nano (8.2-1) over (8.1-1) ... 128s Preparing to unpack .../42-pci.ids_0.0~2024.10.24-1_all.deb ... 128s Unpacking pci.ids (0.0~2024.10.24-1) over (0.0~2024.09.12-1) ... 128s Preparing to unpack .../43-plymouth-theme-ubuntu-text_24.004.60-1ubuntu11_armhf.deb ... 128s Unpacking plymouth-theme-ubuntu-text (24.004.60-1ubuntu11) over (24.004.60-1ubuntu10) ... 128s Preparing to unpack .../44-plymouth_24.004.60-1ubuntu11_armhf.deb ... 128s Unpacking plymouth (24.004.60-1ubuntu11) over (24.004.60-1ubuntu10) ... 128s Preparing to unpack .../45-python3.12-gdbm_3.12.7-3_armhf.deb ... 128s Unpacking python3.12-gdbm (3.12.7-3) over (3.12.7-1) ... 128s Preparing to unpack .../46-ufw_0.36.2-8_all.deb ... 128s Unpacking ufw (0.36.2-8) over (0.36.2-6) ... 128s Preparing to unpack .../47-usbutils_1%3a018-1_armhf.deb ... 128s Unpacking usbutils (1:018-1) over (1:017-3build1) ... 128s Preparing to unpack .../48-dpkg-dev_1.22.11ubuntu3_all.deb ... 128s Unpacking dpkg-dev (1.22.11ubuntu3) over (1.22.11ubuntu1) ... 128s Preparing to unpack .../49-libdpkg-perl_1.22.11ubuntu3_all.deb ... 128s Unpacking libdpkg-perl (1.22.11ubuntu3) over (1.22.11ubuntu1) ... 128s Preparing to unpack .../50-libarchive13t64_3.7.4-1.1_armhf.deb ... 128s Unpacking libarchive13t64:armhf (3.7.4-1.1) over (3.7.4-1) ... 129s Preparing to unpack .../51-libftdi1-2_1.5-7_armhf.deb ... 129s Unpacking libftdi1-2:armhf (1.5-7) over (1.5-6build5) ... 129s Preparing to unpack .../52-libflashrom1_1.4.0-3ubuntu1_armhf.deb ... 129s Unpacking libflashrom1:armhf (1.4.0-3ubuntu1) over (1.3.0-2.1ubuntu2) ... 129s Preparing to unpack .../53-libjson-glib-1.0-common_1.10.0+ds-3_all.deb ... 129s Unpacking libjson-glib-1.0-common (1.10.0+ds-3) over (1.8.0-2build2) ... 129s Preparing to unpack .../54-libjson-glib-1.0-0_1.10.0+ds-3_armhf.deb ... 129s Unpacking libjson-glib-1.0-0:armhf (1.10.0+ds-3) over (1.8.0-2build2) ... 129s Preparing to unpack .../55-libfwupd2_1.9.26-2_armhf.deb ... 129s Unpacking libfwupd2:armhf (1.9.26-2) over (1.9.24-1) ... 129s Preparing to unpack .../56-libxmlb2_0.3.21-1_armhf.deb ... 129s Unpacking libxmlb2:armhf (0.3.21-1) over (0.3.19-1) ... 129s Preparing to unpack .../57-fwupd_1.9.26-2_armhf.deb ... 129s Unpacking fwupd (1.9.26-2) over (1.9.24-1) ... 129s Preparing to unpack .../58-libblockdev-utils3_3.2.1-1_armhf.deb ... 129s Unpacking libblockdev-utils3:armhf (3.2.1-1) over (3.1.1-2) ... 129s Preparing to unpack .../59-libblockdev-crypto3_3.2.1-1_armhf.deb ... 129s Unpacking libblockdev-crypto3:armhf (3.2.1-1) over (3.1.1-2) ... 129s Preparing to unpack .../60-libblockdev-fs3_3.2.1-1_armhf.deb ... 129s Unpacking libblockdev-fs3:armhf (3.2.1-1) over (3.1.1-2) ... 129s Preparing to unpack .../61-libblockdev-loop3_3.2.1-1_armhf.deb ... 129s Unpacking libblockdev-loop3:armhf (3.2.1-1) over (3.1.1-2) ... 129s Preparing to unpack .../62-libbytesize1_2.11-1ubuntu1_armhf.deb ... 129s Unpacking libbytesize1:armhf (2.11-1ubuntu1) over (2.10-1ubuntu2) ... 129s Preparing to unpack .../63-libbytesize-common_2.11-1ubuntu1_all.deb ... 129s Unpacking libbytesize-common (2.11-1ubuntu1) over (2.10-1ubuntu2) ... 129s Preparing to unpack .../64-libblockdev-mdraid3_3.2.1-1_armhf.deb ... 129s Unpacking libblockdev-mdraid3:armhf (3.2.1-1) over (3.1.1-2) ... 129s Preparing to unpack .../65-libnvme1t64_1.11-1_armhf.deb ... 129s Unpacking libnvme1t64 (1.11-1) over (1.10-1) ... 129s Preparing to unpack .../66-libblockdev-nvme3_3.2.1-1_armhf.deb ... 129s Unpacking libblockdev-nvme3:armhf (3.2.1-1) over (3.1.1-2) ... 129s Preparing to unpack .../67-libblockdev-part3_3.2.1-1_armhf.deb ... 129s Unpacking libblockdev-part3:armhf (3.2.1-1) over (3.1.1-2) ... 129s Preparing to unpack .../68-libblockdev-swap3_3.2.1-1_armhf.deb ... 129s Unpacking libblockdev-swap3:armhf (3.2.1-1) over (3.1.1-2) ... 130s Preparing to unpack .../69-libblockdev3_3.2.1-1_armhf.deb ... 130s Unpacking libblockdev3:armhf (3.2.1-1) over (3.1.1-2) ... 130s Preparing to unpack .../70-libgpgme11t64_1.23.2-5ubuntu4_armhf.deb ... 130s Unpacking libgpgme11t64:armhf (1.23.2-5ubuntu4) over (1.18.0-4.1ubuntu4) ... 130s Preparing to unpack .../71-libinih1_58-1ubuntu1_armhf.deb ... 130s Unpacking libinih1:armhf (58-1ubuntu1) over (55-1ubuntu2) ... 130s Preparing to unpack .../72-libldap-common_2.6.8+dfsg-1~exp4ubuntu3_all.deb ... 130s Unpacking libldap-common (2.6.8+dfsg-1~exp4ubuntu3) over (2.6.8+dfsg-1~exp4ubuntu1) ... 130s Preparing to unpack .../73-libldap2_2.6.8+dfsg-1~exp4ubuntu3_armhf.deb ... 130s Unpacking libldap2:armhf (2.6.8+dfsg-1~exp4ubuntu3) over (2.6.8+dfsg-1~exp4ubuntu1) ... 130s Preparing to unpack .../74-libnspr4_2%3a4.35-1.1ubuntu2_armhf.deb ... 130s Unpacking libnspr4:armhf (2:4.35-1.1ubuntu2) over (2:4.35-1.1ubuntu1) ... 130s Preparing to unpack .../75-libsgutils2-1.46-2_1.46-3ubuntu5_armhf.deb ... 130s Unpacking libsgutils2-1.46-2:armhf (1.46-3ubuntu5) over (1.46-3ubuntu4) ... 130s Preparing to unpack .../76-libssh2-1t64_1.11.1-1_armhf.deb ... 130s Unpacking libssh2-1t64:armhf (1.11.1-1) over (1.11.0-7) ... 130s Preparing to unpack .../77-udisks2_2.10.1-11ubuntu1_armhf.deb ... 130s Unpacking udisks2 (2.10.1-11ubuntu1) over (2.10.1-9ubuntu2) ... 130s Preparing to unpack .../78-libudisks2-0_2.10.1-11ubuntu1_armhf.deb ... 130s Unpacking libudisks2-0:armhf (2.10.1-11ubuntu1) over (2.10.1-9ubuntu2) ... 130s Preparing to unpack .../79-libutempter0_1.2.1-4_armhf.deb ... 130s Unpacking libutempter0:armhf (1.2.1-4) over (1.2.1-3build1) ... 130s Preparing to unpack .../80-python3-certifi_2024.8.30+dfsg-1_all.deb ... 130s Unpacking python3-certifi (2024.8.30+dfsg-1) over (2024.6.2-1) ... 130s Preparing to unpack .../81-python3-configobj_5.0.9-1_all.deb ... 130s Unpacking python3-configobj (5.0.9-1) over (5.0.8-3) ... 130s Preparing to unpack .../82-python3-idna_3.8-2_all.deb ... 130s Unpacking python3-idna (3.8-2) over (3.6-2.1) ... 130s Preparing to unpack .../83-python3-more-itertools_10.5.0-1_all.deb ... 130s Unpacking python3-more-itertools (10.5.0-1) over (10.3.0-1) ... 130s Preparing to unpack .../84-python3-jaraco.functools_4.1.0-1_all.deb ... 130s Unpacking python3-jaraco.functools (4.1.0-1) over (4.0.2-1) ... 131s Preparing to unpack .../85-python3-json-pointer_2.4-2_all.deb ... 131s Unpacking python3-json-pointer (2.4-2) over (2.0-0ubuntu1) ... 131s Preparing to unpack .../86-python3-jsonpatch_1.32-4_all.deb ... 131s Unpacking python3-jsonpatch (1.32-4) over (1.32-3) ... 131s Preparing to unpack .../87-python3-lazr.uri_1.0.6-4_all.deb ... 131s Unpacking python3-lazr.uri (1.0.6-4) over (1.0.6-3) ... 131s Preparing to unpack .../88-python3-wadllib_2.0.0-1_all.deb ... 131s Unpacking python3-wadllib (2.0.0-1) over (1.3.6-5) ... 131s Preparing to unpack .../89-python3-oauthlib_3.2.2-2_all.deb ... 131s Unpacking python3-oauthlib (3.2.2-2) over (3.2.2-1) ... 131s Preparing to unpack .../90-python3-lazr.restfulclient_0.14.6-2_all.deb ... 131s Unpacking python3-lazr.restfulclient (0.14.6-2) over (0.14.6-1) ... 131s Preparing to unpack .../91-python3-typeguard_4.4.1-1_all.deb ... 131s Unpacking python3-typeguard (4.4.1-1) over (4.3.0-1) ... 131s Preparing to unpack .../92-python3-urllib3_2.0.7-2ubuntu0.1_all.deb ... 132s Unpacking python3-urllib3 (2.0.7-2ubuntu0.1) over (2.0.7-2) ... 132s Preparing to unpack .../93-python3-zipp_3.21.0-1_all.deb ... 132s Unpacking python3-zipp (3.21.0-1) over (3.20.0-1) ... 132s Preparing to unpack .../94-sg3-utils_1.46-3ubuntu5_armhf.deb ... 132s Unpacking sg3-utils (1.46-3ubuntu5) over (1.46-3ubuntu4) ... 132s Preparing to unpack .../95-sg3-utils-udev_1.46-3ubuntu5_all.deb ... 132s Unpacking sg3-utils-udev (1.46-3ubuntu5) over (1.46-3ubuntu4) ... 132s Selecting previously unselected package systemd-cryptsetup. 132s Preparing to unpack .../96-systemd-cryptsetup_256.5-2ubuntu4_armhf.deb ... 132s Unpacking systemd-cryptsetup (256.5-2ubuntu4) ... 132s Preparing to unpack .../97-ssh-import-id_5.11-0ubuntu3_all.deb ... 132s Unpacking ssh-import-id (5.11-0ubuntu3) over (5.11-0ubuntu2) ... 132s Setting up libpipeline1:armhf (1.5.8-1) ... 132s Setting up motd-news-config (13.5ubuntu3) ... 132s Setting up libtext-iconv-perl:armhf (1.7-8build4) ... 132s Setting up python3-more-itertools (10.5.0-1) ... 132s Setting up libtext-charwidth-perl:armhf (0.04-11build4) ... 132s Setting up liburcu8t64:armhf (0.14.1-1) ... 132s Setting up libxau6:armhf (1:1.0.11-1) ... 132s Setting up libkeyutils1:armhf (1.6.3-4ubuntu2) ... 132s Setting up pci.ids (0.0~2024.10.24-1) ... 132s Setting up libnewt0.52:armhf (0.52.24-2ubuntu4) ... 132s Setting up python3-jaraco.functools (4.1.0-1) ... 132s Setting up python3-problem-report (2.30.0-0ubuntu5) ... 132s Setting up distro-info-data (0.63) ... 132s Setting up libfastjson4:armhf (1.2304.0-2) ... 132s Setting up libinih1:armhf (58-1ubuntu1) ... 132s Setting up libmaxminddb0:armhf (1.11.0-1) ... 132s Setting up python3.12-gdbm (3.12.7-3) ... 132s Setting up libxmlb2:armhf (0.3.21-1) ... 132s Setting up libedit2:armhf (3.1-20240808-1) ... 133s Setting up python3-typeguard (4.4.1-1) ... 133s Setting up libuv1t64:armhf (1.48.0-7) ... 133s Setting up libpython3.12-minimal:armhf (3.12.7-3) ... 133s Setting up libnghttp2-14:armhf (1.64.0-1) ... 133s Setting up libsgutils2-1.46-2:armhf (1.46-3ubuntu5) ... 133s Setting up ufw (0.36.2-8) ... 134s Setting up python3-lazr.uri (1.0.6-4) ... 134s Setting up python3-zipp (3.21.0-1) ... 134s Setting up libnetplan1:armhf (1.1.1-1) ... 134s Setting up python3-newt:armhf (0.52.24-2ubuntu4) ... 134s Setting up libldap-common (2.6.8+dfsg-1~exp4ubuntu3) ... 134s Setting up usbutils (1:018-1) ... 134s Setting up xxd (2:9.1.0777-1ubuntu1) ... 134s Setting up libelf1t64:armhf (0.192-4) ... 134s Setting up python3-apport (2.30.0-0ubuntu5) ... 134s Setting up libdw1t64:armhf (0.192-4) ... 134s Setting up tzdata (2024b-1ubuntu2) ... 135s 135s Current default time zone: 'Etc/UTC' 135s Local time is now: Thu Nov 14 09:57:18 UTC 2024. 135s Universal Time is now: Thu Nov 14 09:57:18 UTC 2024. 135s Run 'dpkg-reconfigure tzdata' if you wish to change it. 135s 135s Setting up libftdi1-2:armhf (1.5-7) ... 135s Setting up libflashrom1:armhf (1.4.0-3ubuntu1) ... 135s Setting up python3-oauthlib (3.2.2-2) ... 135s Setting up python3-configobj (5.0.9-1) ... 135s Setting up vim-common (2:9.1.0777-1ubuntu1) ... 135s Installing new version of config file /etc/vim/vimrc ... 135s Setting up python3-certifi (2024.8.30+dfsg-1) ... 135s Setting up libx11-data (2:1.8.10-2) ... 135s Setting up libnspr4:armhf (2:4.35-1.1ubuntu2) ... 135s Setting up bash-completion (1:2.14.0-2) ... 135s Setting up python3-wadllib (2.0.0-1) ... 135s Setting up python3-gi (3.50.0-3) ... 135s Setting up libbytesize-common (2.11-1ubuntu1) ... 135s Setting up libblockdev-utils3:armhf (3.2.1-1) ... 135s Setting up libpng16-16t64:armhf (1.6.44-2) ... 135s Setting up libmnl0:armhf (1.0.5-3) ... 135s Setting up libatomic1:armhf (14.2.0-8ubuntu1) ... 135s Setting up python3-idna (3.8-2) ... 136s Setting up libsystemd-shared:armhf (256.5-2ubuntu4) ... 136s Setting up dhcpcd-base (1:10.1.0-2) ... 136s Setting up python3-urllib3 (2.0.7-2ubuntu0.1) ... 136s Setting up libutempter0:armhf (1.2.1-4) ... 136s Setting up nano (8.2-1) ... 136s Setting up libblockdev-fs3:armhf (3.2.1-1) ... 136s Setting up perl-modules-5.40 (5.40.0-7) ... 136s Setting up libnetfilter-conntrack3:armhf (1.1.0-1) ... 136s Setting up python3-json-pointer (2.4-2) ... 136s Setting up libtraceevent1:armhf (1:1.8.3-1ubuntu1) ... 136s Setting up libx11-6:armhf (2:1.8.10-2) ... 136s Setting up libjson-glib-1.0-common (1.10.0+ds-3) ... 136s Setting up mawk (1.3.4.20240905-1) ... 136s Setting up libbytesize1:armhf (2.11-1ubuntu1) ... 136s Setting up libgpgme11t64:armhf (1.23.2-5ubuntu4) ... 136s Setting up libssh2-1t64:armhf (1.11.1-1) ... 136s Setting up python3-lazr.restfulclient (0.14.6-2) ... 136s Setting up libdrm-common (2.4.123-1) ... 136s Setting up libarchive13t64:armhf (3.7.4-1.1) ... 136s Setting up libjson-c5:armhf (0.18+ds-1) ... 136s Setting up libevdev2:armhf (1.13.3+dfsg-1) ... 136s Setting up libldap2:armhf (2.6.8+dfsg-1~exp4ubuntu3) ... 136s Setting up info (7.1.1-1) ... 136s Setting up liblocale-gettext-perl (1.07-7build1) ... 136s Setting up libbpf1:armhf (1:1.5.0-1) ... 136s Setting up libudisks2-0:armhf (2.10.1-11ubuntu1) ... 136s Setting up python3-cffi-backend:armhf (1.17.1-2) ... 136s Setting up libpopt0:armhf (1.19+dfsg-2) ... 136s Setting up sg3-utils (1.46-3ubuntu5) ... 136s Setting up python3.12-minimal (3.12.7-3) ... 137s Setting up libpython3.12-stdlib:armhf (3.12.7-3) ... 137s Setting up libblockdev-mdraid3:armhf (3.2.1-1) ... 137s Setting up libblockdev-crypto3:armhf (3.2.1-1) ... 137s Setting up libblockdev-swap3:armhf (3.2.1-1) ... 137s Setting up iproute2 (6.10.0-2ubuntu1) ... 137s Setting up openssh-client (1:9.7p1-7ubuntu5) ... 137s Setting up ssh-import-id (5.11-0ubuntu3) ... 137s Setting up python3-jsonpatch (1.32-4) ... 138s Setting up python3.12 (3.12.7-3) ... 139s Setting up libblockdev-loop3:armhf (3.2.1-1) ... 139s Setting up systemd (256.5-2ubuntu4) ... 139s /usr/lib/tmpfiles.d/legacy.conf:13: Duplicate line for path "/run/lock", ignoring. 139s Created symlink '/run/systemd/system/tmp.mount' → '/dev/null'. 139s /usr/lib/tmpfiles.d/legacy.conf:13: Duplicate line for path "/run/lock", ignoring. 140s Setting up vim-tiny (2:9.1.0777-1ubuntu1) ... 140s Setting up libblockdev3:armhf (3.2.1-1) ... 140s Installing new version of config file /etc/libblockdev/3/conf.d/00-default.cfg ... 140s Setting up libjson-glib-1.0-0:armhf (1.10.0+ds-3) ... 140s Setting up libblockdev-part3:armhf (3.2.1-1) ... 140s Setting up sg3-utils-udev (1.46-3ubuntu5) ... 140s update-initramfs: deferring update (trigger activated) 140s Setting up libperl5.40:armhf (5.40.0-7) ... 140s Setting up perl (5.40.0-7) ... 140s Setting up systemd-cryptsetup (256.5-2ubuntu4) ... 140s Setting up libnvme1t64 (1.11-1) ... 140s Setting up systemd-timesyncd (256.5-2ubuntu4) ... 140s systemd-time-wait-sync.service is a disabled or a static unit not running, not starting it. 140s Setting up udev (256.5-2ubuntu4) ... 141s Setting up libdpkg-perl (1.22.11ubuntu3) ... 141s Setting up libblockdev-nvme3:armhf (3.2.1-1) ... 141s Setting up libdrm2:armhf (2.4.123-1) ... 141s Setting up whiptail (0.52.24-2ubuntu4) ... 141s Setting up libtraceevent1-plugin:armhf (1:1.8.3-1ubuntu1) ... 141s Setting up libplymouth5:armhf (24.004.60-1ubuntu11) ... 141s Setting up python3-netplan (1.1.1-1) ... 141s Setting up netplan-generator (1.1.1-1) ... 141s Removing 'diversion of /lib/systemd/system-generators/netplan to /lib/systemd/system-generators/netplan.usr-is-merged by netplan-generator' 141s Setting up systemd-resolved (256.5-2ubuntu4) ... 142s Setting up openssh-sftp-server (1:9.7p1-7ubuntu5) ... 142s Setting up udisks2 (2.10.1-11ubuntu1) ... 142s vda: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:01.3/0000:04:00.0/virtio2/block/vda/uevent': Permission denied 142s vda1: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:01.3/0000:04:00.0/virtio2/block/vda/vda1/uevent': Permission denied 142s vda15: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:01.3/0000:04:00.0/virtio2/block/vda/vda15/uevent': Permission denied 142s vda2: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:01.3/0000:04:00.0/virtio2/block/vda/vda2/uevent': Permission denied 142s loop0: Failed to write 'change' to '/sys/devices/virtual/block/loop0/uevent': Permission denied 142s loop1: Failed to write 'change' to '/sys/devices/virtual/block/loop1/uevent': Permission denied 142s loop2: Failed to write 'change' to '/sys/devices/virtual/block/loop2/uevent': Permission denied 142s loop3: Failed to write 'change' to '/sys/devices/virtual/block/loop3/uevent': Permission denied 142s loop4: Failed to write 'change' to '/sys/devices/virtual/block/loop4/uevent': Permission denied 142s loop5: Failed to write 'change' to '/sys/devices/virtual/block/loop5/uevent': Permission denied 142s loop6: Failed to write 'change' to '/sys/devices/virtual/block/loop6/uevent': Permission denied 142s loop7: Failed to write 'change' to '/sys/devices/virtual/block/loop7/uevent': Permission denied 142s loop8: Failed to write 'change' to '/sys/devices/virtual/block/loop8/uevent': Permission denied 143s Setting up systemd-sysv (256.5-2ubuntu4) ... 143s Setting up openssh-server (1:9.7p1-7ubuntu5) ... 144s Setting up plymouth (24.004.60-1ubuntu11) ... 144s update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults 144s update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults 144s Setting up libfwupd2:armhf (1.9.26-2) ... 144s Setting up libnss-systemd:armhf (256.5-2ubuntu4) ... 144s Setting up dpkg-dev (1.22.11ubuntu3) ... 144s Setting up netplan.io (1.1.1-1) ... 144s Setting up plymouth-theme-ubuntu-text (24.004.60-1ubuntu11) ... 144s update-initramfs: deferring update (trigger activated) 144s Setting up libpam-systemd:armhf (256.5-2ubuntu4) ... 145s Setting up fwupd (1.9.26-2) ... 145s fwupd-offline-update.service is a disabled or a static unit not running, not starting it. 145s fwupd-refresh.service is a disabled or a static unit not running, not starting it. 145s fwupd.service is a disabled or a static unit not running, not starting it. 145s Setting up apport-core-dump-handler (2.30.0-0ubuntu5) ... 146s Setting up apport (2.30.0-0ubuntu5) ... 146s Installing new version of config file /etc/apport/crashdb.conf ... 147s apport-autoreport.service is a disabled or a static unit not running, not starting it. 147s Processing triggers for dbus (1.14.10-4ubuntu5) ... 147s Processing triggers for shared-mime-info (2.4-5) ... 147s Processing triggers for install-info (7.1.1-1) ... 148s Processing triggers for initramfs-tools (0.142ubuntu34) ... 148s Processing triggers for libc-bin (2.40-1ubuntu3) ... 148s Processing triggers for rsyslog (8.2406.0-1ubuntu2) ... 148s Processing triggers for man-db (2.12.1-3) ... 150s Reading package lists... 150s Building dependency tree... 150s Reading state information... 151s The following packages will be REMOVED: 151s libperl5.38t64* perl-modules-5.38* python3-netifaces* 151s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 151s After this operation, 41.7 MB disk space will be freed. 151s (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 ... 61500 files and directories currently installed.) 151s Removing libperl5.38t64:armhf (5.38.2-5) ... 151s Removing perl-modules-5.38 (5.38.2-5) ... 151s Removing python3-netifaces:armhf (0.11.0-2build3) ... 151s Processing triggers for man-db (2.12.1-3) ... 152s Processing triggers for libc-bin (2.40-1ubuntu3) ... 154s autopkgtest [09:57:38]: rebooting testbed after setup commands that affected boot 221s autopkgtest [09:58:45]: testbed running kernel: Linux 6.8.0-47-generic #47~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Oct 2 16:39:14 UTC 2 248s autopkgtest [09:59:12]: @@@@@@@@@@@@@@@@@@@@ apt-source datalad-next 258s Get:1 http://ftpmaster.internal/ubuntu plucky/universe datalad-next 1.4.1-1ubuntu2 (dsc) [2646 B] 258s Get:2 http://ftpmaster.internal/ubuntu plucky/universe datalad-next 1.4.1-1ubuntu2 (tar) [439 kB] 258s Get:3 http://ftpmaster.internal/ubuntu plucky/universe datalad-next 1.4.1-1ubuntu2 (diff) [7844 B] 258s gpgv: Signature made Fri Sep 6 18:54:06 2024 UTC 258s gpgv: using RSA key CED62F17BB727A48FC50762E2A15898770574541 258s gpgv: Can't check signature: No public key 258s dpkg-source: warning: cannot verify inline signature for ./datalad-next_1.4.1-1ubuntu2.dsc: no acceptable signature found 259s autopkgtest [09:59:23]: testing package datalad-next version 1.4.1-1ubuntu2 261s autopkgtest [09:59:25]: build not needed 263s autopkgtest [09:59:27]: test plain-import: preparing testbed 273s Reading package lists... 273s Building dependency tree... 273s Reading state information... 273s Starting pkgProblemResolver with broken count: 0 273s Starting 2 pkgProblemResolver with broken count: 0 273s Done 274s The following additional packages will be installed: 274s 7zip git git-annex git-man liberror-perl patool python3-all 274s python3-annexremote python3-boto3 python3-botocore python3-datalad 274s python3-datalad-next python3-dateutil python3-fasteners python3-gitlab 274s python3-humanize python3-importlib-metadata python3-iso8601 274s python3-jaraco.classes python3-jeepney python3-jmespath python3-keyring 274s python3-keyrings.alt python3-monotonic python3-msgpack python3-packaging 274s python3-platformdirs python3-pycryptodome python3-requests-toolbelt 274s python3-s3transfer python3-secretstorage python3-six python3-tqdm 274s Suggested packages: 274s 7zip-standalone 7zip-rar git-daemon-run | git-daemon-sysvinit git-doc 274s git-email git-gui gitk gitweb git-cvs git-mediawiki git-svn xdot bup adb tor 274s magic-wormhole tahoe-lafs libnss-mdns uftp yt-dlp arj cabextract | lcab 274s ncompress lzop rar | unrar | zip | unzip rpm2cpio unace | unace-nonfree 274s | nomarch unalz lrzip lhasa xdms lzip | plzip | clzip | pdlzip sharutils 274s flac libarchive-tools archmage genisoimage python3-argcomplete 274s python3-duecredit datalad-container python3-bs4 python3-numpy 274s python-gitlab-doc gir1.2-secret-1 gnome-keyring libkf5wallet-bin 274s python3-shtab gnome-keyring | libkf5wallet-bin | keepassxc 274s python-secretstorage-doc 274s Recommended packages: 274s git-remote-gcrypt nocache aria2 python3-html5lib python3-httpretty 274s python3-lzma python3-pytest python3-pyperclip python3-requests-ftp 274s python3-vcr 274s The following NEW packages will be installed: 274s 7zip autopkgtest-satdep git git-annex git-man liberror-perl patool 274s python3-all python3-annexremote python3-boto3 python3-botocore 274s python3-datalad python3-datalad-next python3-dateutil python3-fasteners 274s python3-gitlab python3-humanize python3-importlib-metadata python3-iso8601 274s python3-jaraco.classes python3-jeepney python3-jmespath python3-keyring 274s python3-keyrings.alt python3-monotonic python3-msgpack python3-packaging 274s python3-platformdirs python3-pycryptodome python3-requests-toolbelt 274s python3-s3transfer python3-secretstorage python3-six python3-tqdm 274s 0 upgraded, 34 newly installed, 0 to remove and 0 not upgraded. 274s Need to get 40.9 MB/40.9 MB of archives. 274s After this operation, 277 MB of additional disk space will be used. 274s Get:1 /tmp/autopkgtest.WXFAly/1-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [724 B] 274s Get:2 http://ftpmaster.internal/ubuntu plucky/universe armhf 7zip armhf 24.08+dfsg-1 [1426 kB] 275s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf liberror-perl all 0.17029-2 [25.6 kB] 275s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf git-man all 1:2.45.2-1ubuntu1 [1122 kB] 275s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf git armhf 1:2.45.2-1ubuntu1 [4504 kB] 275s Get:6 http://ftpmaster.internal/ubuntu plucky/universe armhf git-annex armhf 10.20240927-1 [24.1 MB] 276s Get:7 http://ftpmaster.internal/ubuntu plucky/universe armhf patool all 2.0.0-2 [35.3 kB] 276s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf python3-all armhf 3.12.6-0ubuntu1 [886 B] 276s Get:9 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-annexremote all 1.6.4-2 [14.5 kB] 276s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf python3-six all 1.16.0-7 [13.1 kB] 276s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dateutil all 2.9.0-2 [80.3 kB] 276s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf python3-jmespath all 1.0.1-1 [21.3 kB] 276s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf python3-botocore all 1.34.46+repack-1ubuntu1 [6211 kB] 277s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf python3-s3transfer all 0.10.1-1ubuntu2 [54.3 kB] 277s Get:15 http://ftpmaster.internal/ubuntu plucky/main armhf python3-boto3 all 1.34.46+dfsg-1ubuntu1 [72.5 kB] 277s Get:16 http://ftpmaster.internal/ubuntu plucky/main armhf python3-monotonic all 1.6-2 [5732 B] 277s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf python3-fasteners all 0.18-2 [12.5 kB] 277s Get:18 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-requests-toolbelt all 1.0.0-3 [36.9 kB] 277s Get:19 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-gitlab all 1:4.3.0-1 [73.0 kB] 277s Get:20 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-humanize all 4.11.0-1 [58.0 kB] 277s Get:21 http://ftpmaster.internal/ubuntu plucky/main armhf python3-importlib-metadata all 8.5.0-1 [20.7 kB] 277s Get:22 http://ftpmaster.internal/ubuntu plucky/main armhf python3-iso8601 all 2.1.0-2 [9136 B] 277s Get:23 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-jeepney all 0.8.0-4 [33.1 kB] 277s Get:24 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-secretstorage all 3.3.3-3 [13.7 kB] 277s Get:25 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-jaraco.classes all 3.4.0-1 [7664 B] 277s Get:26 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-keyring all 25.4.1-1 [40.5 kB] 277s Get:27 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pycryptodome armhf 3.20.0+dfsg-3 [1088 kB] 277s Get:28 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-keyrings.alt all 5.0.2-1 [16.6 kB] 277s Get:29 http://ftpmaster.internal/ubuntu plucky/main armhf python3-msgpack armhf 1.0.3-3build2 [76.1 kB] 277s Get:30 http://ftpmaster.internal/ubuntu plucky/main armhf python3-platformdirs all 4.3.6-1 [16.8 kB] 277s Get:31 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-tqdm all 4.67.0-1 [91.6 kB] 277s Get:32 http://ftpmaster.internal/ubuntu plucky/main armhf python3-packaging all 24.1-1 [41.4 kB] 277s Get:33 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-datalad all 1.1.3-2 [815 kB] 277s Get:34 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-datalad-next all 1.4.1-1ubuntu2 [748 kB] 277s Fetched 40.9 MB in 2s (16.7 MB/s) 277s Selecting previously unselected package 7zip. 277s (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 ... 59560 files and directories currently installed.) 277s Preparing to unpack .../00-7zip_24.08+dfsg-1_armhf.deb ... 277s Unpacking 7zip (24.08+dfsg-1) ... 277s Selecting previously unselected package liberror-perl. 277s Preparing to unpack .../01-liberror-perl_0.17029-2_all.deb ... 277s Unpacking liberror-perl (0.17029-2) ... 277s Selecting previously unselected package git-man. 277s Preparing to unpack .../02-git-man_1%3a2.45.2-1ubuntu1_all.deb ... 277s Unpacking git-man (1:2.45.2-1ubuntu1) ... 277s Selecting previously unselected package git. 277s Preparing to unpack .../03-git_1%3a2.45.2-1ubuntu1_armhf.deb ... 277s Unpacking git (1:2.45.2-1ubuntu1) ... 278s Selecting previously unselected package git-annex. 278s Preparing to unpack .../04-git-annex_10.20240927-1_armhf.deb ... 278s Unpacking git-annex (10.20240927-1) ... 279s Selecting previously unselected package patool. 279s Preparing to unpack .../05-patool_2.0.0-2_all.deb ... 279s Unpacking patool (2.0.0-2) ... 279s Selecting previously unselected package python3-all. 279s Preparing to unpack .../06-python3-all_3.12.6-0ubuntu1_armhf.deb ... 279s Unpacking python3-all (3.12.6-0ubuntu1) ... 279s Selecting previously unselected package python3-annexremote. 279s Preparing to unpack .../07-python3-annexremote_1.6.4-2_all.deb ... 279s Unpacking python3-annexremote (1.6.4-2) ... 279s Selecting previously unselected package python3-six. 279s Preparing to unpack .../08-python3-six_1.16.0-7_all.deb ... 279s Unpacking python3-six (1.16.0-7) ... 279s Selecting previously unselected package python3-dateutil. 279s Preparing to unpack .../09-python3-dateutil_2.9.0-2_all.deb ... 279s Unpacking python3-dateutil (2.9.0-2) ... 279s Selecting previously unselected package python3-jmespath. 279s Preparing to unpack .../10-python3-jmespath_1.0.1-1_all.deb ... 279s Unpacking python3-jmespath (1.0.1-1) ... 279s Selecting previously unselected package python3-botocore. 279s Preparing to unpack .../11-python3-botocore_1.34.46+repack-1ubuntu1_all.deb ... 279s Unpacking python3-botocore (1.34.46+repack-1ubuntu1) ... 280s Selecting previously unselected package python3-s3transfer. 280s Preparing to unpack .../12-python3-s3transfer_0.10.1-1ubuntu2_all.deb ... 280s Unpacking python3-s3transfer (0.10.1-1ubuntu2) ... 280s Selecting previously unselected package python3-boto3. 280s Preparing to unpack .../13-python3-boto3_1.34.46+dfsg-1ubuntu1_all.deb ... 280s Unpacking python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 280s Selecting previously unselected package python3-monotonic. 280s Preparing to unpack .../14-python3-monotonic_1.6-2_all.deb ... 280s Unpacking python3-monotonic (1.6-2) ... 280s Selecting previously unselected package python3-fasteners. 280s Preparing to unpack .../15-python3-fasteners_0.18-2_all.deb ... 280s Unpacking python3-fasteners (0.18-2) ... 280s Selecting previously unselected package python3-requests-toolbelt. 280s Preparing to unpack .../16-python3-requests-toolbelt_1.0.0-3_all.deb ... 280s Unpacking python3-requests-toolbelt (1.0.0-3) ... 280s Selecting previously unselected package python3-gitlab. 280s Preparing to unpack .../17-python3-gitlab_1%3a4.3.0-1_all.deb ... 280s Unpacking python3-gitlab (1:4.3.0-1) ... 280s Selecting previously unselected package python3-humanize. 280s Preparing to unpack .../18-python3-humanize_4.11.0-1_all.deb ... 280s Unpacking python3-humanize (4.11.0-1) ... 280s Selecting previously unselected package python3-importlib-metadata. 280s Preparing to unpack .../19-python3-importlib-metadata_8.5.0-1_all.deb ... 280s Unpacking python3-importlib-metadata (8.5.0-1) ... 280s Selecting previously unselected package python3-iso8601. 280s Preparing to unpack .../20-python3-iso8601_2.1.0-2_all.deb ... 280s Unpacking python3-iso8601 (2.1.0-2) ... 280s Selecting previously unselected package python3-jeepney. 280s Preparing to unpack .../21-python3-jeepney_0.8.0-4_all.deb ... 280s Unpacking python3-jeepney (0.8.0-4) ... 280s Selecting previously unselected package python3-secretstorage. 281s Preparing to unpack .../22-python3-secretstorage_3.3.3-3_all.deb ... 281s Unpacking python3-secretstorage (3.3.3-3) ... 281s Selecting previously unselected package python3-jaraco.classes. 281s Preparing to unpack .../23-python3-jaraco.classes_3.4.0-1_all.deb ... 281s Unpacking python3-jaraco.classes (3.4.0-1) ... 281s Selecting previously unselected package python3-keyring. 281s Preparing to unpack .../24-python3-keyring_25.4.1-1_all.deb ... 281s Unpacking python3-keyring (25.4.1-1) ... 281s Selecting previously unselected package python3-pycryptodome. 281s Preparing to unpack .../25-python3-pycryptodome_3.20.0+dfsg-3_armhf.deb ... 281s Unpacking python3-pycryptodome (3.20.0+dfsg-3) ... 281s Selecting previously unselected package python3-keyrings.alt. 281s Preparing to unpack .../26-python3-keyrings.alt_5.0.2-1_all.deb ... 281s Unpacking python3-keyrings.alt (5.0.2-1) ... 281s Selecting previously unselected package python3-msgpack. 281s Preparing to unpack .../27-python3-msgpack_1.0.3-3build2_armhf.deb ... 281s Unpacking python3-msgpack (1.0.3-3build2) ... 281s Selecting previously unselected package python3-platformdirs. 281s Preparing to unpack .../28-python3-platformdirs_4.3.6-1_all.deb ... 281s Unpacking python3-platformdirs (4.3.6-1) ... 281s Selecting previously unselected package python3-tqdm. 281s Preparing to unpack .../29-python3-tqdm_4.67.0-1_all.deb ... 281s Unpacking python3-tqdm (4.67.0-1) ... 281s Selecting previously unselected package python3-packaging. 281s Preparing to unpack .../30-python3-packaging_24.1-1_all.deb ... 281s Unpacking python3-packaging (24.1-1) ... 281s Selecting previously unselected package python3-datalad. 281s Preparing to unpack .../31-python3-datalad_1.1.3-2_all.deb ... 281s Unpacking python3-datalad (1.1.3-2) ... 281s Selecting previously unselected package python3-datalad-next. 281s Preparing to unpack .../32-python3-datalad-next_1.4.1-1ubuntu2_all.deb ... 281s Unpacking python3-datalad-next (1.4.1-1ubuntu2) ... 281s Selecting previously unselected package autopkgtest-satdep. 281s Preparing to unpack .../33-1-autopkgtest-satdep.deb ... 281s Unpacking autopkgtest-satdep (0) ... 281s Setting up python3-jaraco.classes (3.4.0-1) ... 281s Setting up patool (2.0.0-2) ... 282s Setting up python3-requests-toolbelt (1.0.0-3) ... 282s Setting up python3-annexremote (1.6.4-2) ... 282s Setting up python3-importlib-metadata (8.5.0-1) ... 282s Setting up python3-pycryptodome (3.20.0+dfsg-3) ... 283s Setting up python3-tqdm (4.67.0-1) ... 283s Setting up python3-all (3.12.6-0ubuntu1) ... 283s Setting up 7zip (24.08+dfsg-1) ... 283s Setting up python3-platformdirs (4.3.6-1) ... 283s Setting up python3-monotonic (1.6-2) ... 283s Setting up liberror-perl (0.17029-2) ... 283s Setting up python3-six (1.16.0-7) ... 283s Setting up python3-packaging (24.1-1) ... 284s Setting up python3-iso8601 (2.1.0-2) ... 284s Setting up python3-jmespath (1.0.1-1) ... 284s Setting up python3-fasteners (0.18-2) ... 284s Setting up python3-jeepney (0.8.0-4) ... 284s Setting up git-man (1:2.45.2-1ubuntu1) ... 284s Setting up python3-dateutil (2.9.0-2) ... 284s Setting up python3-msgpack (1.0.3-3build2) ... 285s Setting up python3-humanize (4.11.0-1) ... 285s Setting up python3-gitlab (1:4.3.0-1) ... 285s Setting up python3-secretstorage (3.3.3-3) ... 285s Setting up python3-botocore (1.34.46+repack-1ubuntu1) ... 286s Setting up git (1:2.45.2-1ubuntu1) ... 286s Setting up git-annex (10.20240927-1) ... 286s Setting up python3-keyring (25.4.1-1) ... 286s Setting up python3-s3transfer (0.10.1-1ubuntu2) ... 286s Setting up python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 286s Setting up python3-keyrings.alt (5.0.2-1) ... 286s Setting up python3-datalad (1.1.3-2) ... 287s Setting up python3-datalad-next (1.4.1-1ubuntu2) ... 288s Setting up autopkgtest-satdep (0) ... 288s Processing triggers for man-db (2.12.1-3) ... 303s (Reading database ... 66692 files and directories currently installed.) 303s Removing autopkgtest-satdep (0) ... 309s autopkgtest [10:00:13]: test plain-import: set -e ; export GIT_AUTHOR_NAME=debian; export GIT_AUTHOR_EMAIL=debian@datalad.org; for py in $(py3versions -r 2>/dev/null) ; do cd "$AUTOPKGTEST_TMP" ; echo "Testing with $py:" ; $py -c "import datalad_next; print(datalad_next)" ; done 309s autopkgtest [10:00:13]: test plain-import: [----------------------- 311s Testing with python3.12: 311s 311s autopkgtest [10:00:15]: test plain-import: -----------------------] 315s autopkgtest [10:00:19]: test plain-import: - - - - - - - - - - results - - - - - - - - - - 316s plain-import PASS (superficial) 320s autopkgtest [10:00:23]: test apply-datalad-patches: preparing testbed 329s Reading package lists... 330s Building dependency tree... 330s Reading state information... 330s Starting pkgProblemResolver with broken count: 0 330s Starting 2 pkgProblemResolver with broken count: 0 330s Done 331s The following additional packages will be installed: 331s datalad python3-argcomplete 331s Suggested packages: 331s datalad-container 331s The following NEW packages will be installed: 331s autopkgtest-satdep datalad python3-argcomplete 331s 0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. 331s Need to get 136 kB/137 kB of archives. 331s After this operation, 400 kB of additional disk space will be used. 331s Get:1 /tmp/autopkgtest.WXFAly/2-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [724 B] 331s Get:2 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-argcomplete all 3.5.1-1 [35.4 kB] 331s Get:3 http://ftpmaster.internal/ubuntu plucky/universe armhf datalad all 1.1.3-2 [101 kB] 332s Fetched 136 kB in 0s (351 kB/s) 332s Selecting previously unselected package python3-argcomplete. 332s (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 ... 66692 files and directories currently installed.) 332s Preparing to unpack .../python3-argcomplete_3.5.1-1_all.deb ... 332s Unpacking python3-argcomplete (3.5.1-1) ... 332s Selecting previously unselected package datalad. 332s Preparing to unpack .../datalad_1.1.3-2_all.deb ... 332s Unpacking datalad (1.1.3-2) ... 332s Selecting previously unselected package autopkgtest-satdep. 332s Preparing to unpack .../2-autopkgtest-satdep.deb ... 332s Unpacking autopkgtest-satdep (0) ... 332s Setting up python3-argcomplete (3.5.1-1) ... 332s Setting up datalad (1.1.3-2) ... 332s Setting up autopkgtest-satdep (0) ... 332s Processing triggers for man-db (2.12.1-3) ... 345s (Reading database ... 66788 files and directories currently installed.) 345s Removing autopkgtest-satdep (0) ... 351s autopkgtest [10:00:55]: test apply-datalad-patches: set -e ; export GIT_AUTHOR_NAME=debian; export GIT_AUTHOR_EMAIL=debian@datalad.org; for py in $(py3versions -r 2>/dev/null) ; do cd "$AUTOPKGTEST_TMP" ; echo "Testing with $py:" ; $py -c "import datalad_next.patches.enabled" ; done 351s autopkgtest [10:00:55]: test apply-datalad-patches: [----------------------- 353s Testing with python3.12: 353s autopkgtest [10:00:57]: test apply-datalad-patches: -----------------------] 358s autopkgtest [10:01:02]: test apply-datalad-patches: - - - - - - - - - - results - - - - - - - - - - 358s apply-datalad-patches PASS (superficial) 361s autopkgtest [10:01:05]: test extension-registered: preparing testbed 418s autopkgtest [10:02:02]: testbed dpkg architecture: armhf 419s autopkgtest [10:02:03]: testbed apt version: 2.9.8 419s autopkgtest [10:02:03]: @@@@@@@@@@@@@@@@@@@@ test bed setup 427s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 428s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 428s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [1001 kB] 428s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.3 kB] 428s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [99.3 kB] 428s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [103 kB] 428s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [697 kB] 428s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf Packages [5036 B] 428s Fetched 2001 kB in 1s (2021 kB/s) 428s Reading package lists... 444s tee: /proc/self/fd/2: Permission denied 466s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 466s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 466s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 466s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 468s Reading package lists... 468s Reading package lists... 468s Building dependency tree... 468s Reading state information... 468s Calculating upgrade... 469s The following packages were automatically installed and are no longer required: 469s libperl5.38t64 perl-modules-5.38 python3-netifaces 469s Use 'apt autoremove' to remove them. 469s The following NEW packages will be installed: 469s libperl5.40 perl-modules-5.40 systemd-cryptsetup 469s The following packages will be upgraded: 469s apport apport-core-dump-handler base-files base-passwd bash-completion 469s dhcpcd-base distro-info-data dpkg dpkg-dev fwupd gcc-14-base info 469s install-info iproute2 libarchive13t64 libatomic1 libattr1 469s libblockdev-crypto3 libblockdev-fs3 libblockdev-loop3 libblockdev-mdraid3 469s libblockdev-nvme3 libblockdev-part3 libblockdev-swap3 libblockdev-utils3 469s libblockdev3 libbpf1 libbsd0 libbytesize-common libbytesize1 libdb5.3t64 469s libdpkg-perl libdrm-common libdrm2 libdw1t64 libedit2 libelf1t64 libevdev2 469s libfastjson4 libflashrom1 libftdi1-2 libfwupd2 libgcc-s1 libgnutls30t64 469s libgpgme11t64 libinih1 libjson-c5 libjson-glib-1.0-0 libjson-glib-1.0-common 469s libkeyutils1 libldap-common libldap2 liblocale-gettext-perl libmaxminddb0 469s libmnl0 libnetfilter-conntrack3 libnetplan1 libnewt0.52 libnghttp2-14 469s libnspr4 libnss-systemd libnvme1t64 libpam-systemd libpipeline1 libplymouth5 469s libpng16-16t64 libpopt0 libpython3.12-minimal libpython3.12-stdlib 469s libsgutils2-1.46-2 libssh2-1t64 libstdc++6 libsystemd-shared libsystemd0 469s libtext-charwidth-perl libtext-iconv-perl libtraceevent1 469s libtraceevent1-plugin libudev1 libudisks2-0 liburcu8t64 libutempter0 469s libuv1t64 libx11-6 libx11-data libxau6 libxmlb2 mawk motd-news-config nano 469s netplan-generator netplan.io openssh-client openssh-server 469s openssh-sftp-server pci.ids perl perl-base plymouth 469s plymouth-theme-ubuntu-text python3-apport python3-certifi 469s python3-cffi-backend python3-configobj python3-gi python3-idna 469s python3-jaraco.functools python3-json-pointer python3-jsonpatch 469s python3-lazr.restfulclient python3-lazr.uri python3-more-itertools 469s python3-netplan python3-newt python3-oauthlib python3-problem-report 469s python3-typeguard python3-urllib3 python3-wadllib python3-zipp python3.12 469s python3.12-gdbm python3.12-minimal sg3-utils sg3-utils-udev ssh-import-id 469s systemd systemd-resolved systemd-sysv systemd-timesyncd tzdata udev udisks2 469s ufw usbutils vim-common vim-tiny whiptail xxd 469s 139 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. 469s Need to get 45.4 MB of archives. 469s After this operation, 43.1 MB of additional disk space will be used. 469s Get:1 http://ftpmaster.internal/ubuntu plucky/main armhf motd-news-config all 13.5ubuntu3 [5190 B] 469s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf base-files armhf 13.5ubuntu3 [75.1 kB] 470s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf dpkg armhf 1.22.11ubuntu3 [1247 kB] 470s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf perl-modules-5.40 all 5.40.0-7 [3214 kB] 470s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf libperl5.40 armhf 5.40.0-7 [4139 kB] 470s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf perl armhf 5.40.0-7 [263 kB] 470s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf perl-base armhf 5.40.0-7 [1674 kB] 470s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf liblocale-gettext-perl armhf 1.07-7build1 [15.0 kB] 470s Get:9 http://ftpmaster.internal/ubuntu plucky/main armhf libtext-iconv-perl armhf 1.7-8build4 [12.8 kB] 470s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf libtext-charwidth-perl armhf 0.04-11build4 [9128 B] 470s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf libdb5.3t64 armhf 5.3.28+dfsg2-9 [655 kB] 470s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf base-passwd armhf 3.6.5 [53.2 kB] 470s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf python3.12 armhf 3.12.7-3 [661 kB] 470s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf python3.12-minimal armhf 3.12.7-3 [2012 kB] 470s Get:15 http://ftpmaster.internal/ubuntu plucky/main armhf libpython3.12-stdlib armhf 3.12.7-3 [1934 kB] 470s Get:16 http://ftpmaster.internal/ubuntu plucky/main armhf libpython3.12-minimal armhf 3.12.7-3 [822 kB] 470s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf tzdata all 2024b-1ubuntu2 [274 kB] 470s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf libnss-systemd armhf 256.5-2ubuntu4 [155 kB] 470s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf systemd-timesyncd armhf 256.5-2ubuntu4 [40.7 kB] 470s Get:20 http://ftpmaster.internal/ubuntu plucky/main armhf systemd-resolved armhf 256.5-2ubuntu4 [309 kB] 470s Get:21 http://ftpmaster.internal/ubuntu plucky/main armhf libsystemd-shared armhf 256.5-2ubuntu4 [2129 kB] 470s Get:22 http://ftpmaster.internal/ubuntu plucky/main armhf libsystemd0 armhf 256.5-2ubuntu4 [428 kB] 470s Get:23 http://ftpmaster.internal/ubuntu plucky/main armhf systemd-sysv armhf 256.5-2ubuntu4 [11.9 kB] 470s Get:24 http://ftpmaster.internal/ubuntu plucky/main armhf libpam-systemd armhf 256.5-2ubuntu4 [226 kB] 470s Get:25 http://ftpmaster.internal/ubuntu plucky/main armhf systemd armhf 256.5-2ubuntu4 [3442 kB] 470s Get:26 http://ftpmaster.internal/ubuntu plucky/main armhf udev armhf 256.5-2ubuntu4 [1949 kB] 471s Get:27 http://ftpmaster.internal/ubuntu plucky/main armhf libudev1 armhf 256.5-2ubuntu4 [188 kB] 471s Get:28 http://ftpmaster.internal/ubuntu plucky/main armhf python3-problem-report all 2.30.0-0ubuntu5 [25.0 kB] 471s Get:29 http://ftpmaster.internal/ubuntu plucky/main armhf python3-apport all 2.30.0-0ubuntu5 [93.2 kB] 471s Get:30 http://ftpmaster.internal/ubuntu plucky/main armhf python3-gi armhf 3.50.0-3 [227 kB] 471s Get:31 http://ftpmaster.internal/ubuntu plucky/main armhf apport-core-dump-handler all 2.30.0-0ubuntu5 [17.9 kB] 471s Get:32 http://ftpmaster.internal/ubuntu plucky/main armhf apport all 2.30.0-0ubuntu5 [83.0 kB] 471s Get:33 http://ftpmaster.internal/ubuntu plucky/main armhf libbsd0 armhf 0.12.2-2 [36.8 kB] 471s Get:34 http://ftpmaster.internal/ubuntu plucky/main armhf libedit2 armhf 3.1-20240808-1 [79.0 kB] 471s Get:35 http://ftpmaster.internal/ubuntu plucky/main armhf openssh-sftp-server armhf 1:9.7p1-7ubuntu5 [35.4 kB] 471s Get:36 http://ftpmaster.internal/ubuntu plucky/main armhf openssh-server armhf 1:9.7p1-7ubuntu5 [505 kB] 471s Get:37 http://ftpmaster.internal/ubuntu plucky/main armhf openssh-client armhf 1:9.7p1-7ubuntu5 [889 kB] 471s Get:38 http://ftpmaster.internal/ubuntu plucky/main armhf libatomic1 armhf 14.2.0-8ubuntu1 [7846 B] 471s Get:39 http://ftpmaster.internal/ubuntu plucky/main armhf gcc-14-base armhf 14.2.0-8ubuntu1 [51.5 kB] 471s Get:40 http://ftpmaster.internal/ubuntu plucky/main armhf libstdc++6 armhf 14.2.0-8ubuntu1 [711 kB] 471s Get:41 http://ftpmaster.internal/ubuntu plucky/main armhf libgcc-s1 armhf 14.2.0-8ubuntu1 [40.8 kB] 471s Get:42 http://ftpmaster.internal/ubuntu plucky/main armhf libattr1 armhf 1:2.5.2-2 [10.5 kB] 471s Get:43 http://ftpmaster.internal/ubuntu plucky/main armhf libgnutls30t64 armhf 3.8.8-2ubuntu1 [955 kB] 471s Get:44 http://ftpmaster.internal/ubuntu plucky/main armhf install-info armhf 7.1.1-1 [61.4 kB] 471s Get:45 http://ftpmaster.internal/ubuntu plucky/main armhf mawk armhf 1.3.4.20240905-1 [116 kB] 471s Get:46 http://ftpmaster.internal/ubuntu plucky/main armhf dhcpcd-base armhf 1:10.1.0-2 [188 kB] 471s Get:47 http://ftpmaster.internal/ubuntu plucky/main armhf distro-info-data all 0.63 [6588 B] 471s Get:48 http://ftpmaster.internal/ubuntu plucky/main armhf libdw1t64 armhf 0.192-4 [243 kB] 471s Get:49 http://ftpmaster.internal/ubuntu plucky/main armhf libelf1t64 armhf 0.192-4 [50.2 kB] 471s Get:50 http://ftpmaster.internal/ubuntu plucky/main armhf libbpf1 armhf 1:1.5.0-1 [158 kB] 471s Get:51 http://ftpmaster.internal/ubuntu plucky/main armhf libmnl0 armhf 1.0.5-3 [10.7 kB] 471s Get:52 http://ftpmaster.internal/ubuntu plucky/main armhf iproute2 armhf 6.10.0-2ubuntu1 [1082 kB] 471s Get:53 http://ftpmaster.internal/ubuntu plucky/main armhf libfastjson4 armhf 1.2304.0-2 [20.2 kB] 471s Get:54 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-c5 armhf 0.18+ds-1 [33.2 kB] 471s Get:55 http://ftpmaster.internal/ubuntu plucky/main armhf libkeyutils1 armhf 1.6.3-4ubuntu2 [8712 B] 471s Get:56 http://ftpmaster.internal/ubuntu plucky/main armhf netplan-generator armhf 1.1.1-1 [60.4 kB] 471s Get:57 http://ftpmaster.internal/ubuntu plucky/main armhf python3-cffi-backend armhf 1.17.1-2 [68.7 kB] 471s Get:58 http://ftpmaster.internal/ubuntu plucky/main armhf python3-netplan armhf 1.1.1-1 [24.1 kB] 471s Get:59 http://ftpmaster.internal/ubuntu plucky/main armhf netplan.io armhf 1.1.1-1 [66.4 kB] 471s Get:60 http://ftpmaster.internal/ubuntu plucky/main armhf libnetplan1 armhf 1.1.1-1 [122 kB] 471s Get:61 http://ftpmaster.internal/ubuntu plucky/main armhf python3-newt armhf 0.52.24-2ubuntu4 [19.7 kB] 471s Get:62 http://ftpmaster.internal/ubuntu plucky/main armhf libnewt0.52 armhf 0.52.24-2ubuntu4 [39.2 kB] 471s Get:63 http://ftpmaster.internal/ubuntu plucky/main armhf libpopt0 armhf 1.19+dfsg-2 [25.4 kB] 471s Get:64 http://ftpmaster.internal/ubuntu plucky/main armhf vim-tiny armhf 2:9.1.0777-1ubuntu1 [693 kB] 471s Get:65 http://ftpmaster.internal/ubuntu plucky/main armhf vim-common all 2:9.1.0777-1ubuntu1 [394 kB] 471s Get:66 http://ftpmaster.internal/ubuntu plucky/main armhf whiptail armhf 0.52.24-2ubuntu4 [17.2 kB] 471s Get:67 http://ftpmaster.internal/ubuntu plucky/main armhf xxd armhf 2:9.1.0777-1ubuntu1 [66.8 kB] 471s Get:68 http://ftpmaster.internal/ubuntu plucky/main armhf bash-completion all 1:2.14.0-2 [210 kB] 471s Get:69 http://ftpmaster.internal/ubuntu plucky/main armhf info armhf 7.1.1-1 [126 kB] 471s Get:70 http://ftpmaster.internal/ubuntu plucky/main armhf libdrm-common all 2.4.123-1 [8436 B] 471s Get:71 http://ftpmaster.internal/ubuntu plucky/main armhf libdrm2 armhf 2.4.123-1 [36.5 kB] 471s Get:72 http://ftpmaster.internal/ubuntu plucky/main armhf libevdev2 armhf 1.13.3+dfsg-1 [29.7 kB] 471s Get:73 http://ftpmaster.internal/ubuntu plucky/main armhf libmaxminddb0 armhf 1.11.0-1 [16.8 kB] 471s Get:74 http://ftpmaster.internal/ubuntu plucky/main armhf libnetfilter-conntrack3 armhf 1.1.0-1 [38.4 kB] 471s Get:75 http://ftpmaster.internal/ubuntu plucky/main armhf libnghttp2-14 armhf 1.64.0-1 [68.9 kB] 471s Get:76 http://ftpmaster.internal/ubuntu plucky/main armhf libpipeline1 armhf 1.5.8-1 [26.9 kB] 471s Get:77 http://ftpmaster.internal/ubuntu plucky/main armhf libpng16-16t64 armhf 1.6.44-2 [168 kB] 471s Get:78 http://ftpmaster.internal/ubuntu plucky/main armhf libplymouth5 armhf 24.004.60-1ubuntu11 [140 kB] 471s Get:79 http://ftpmaster.internal/ubuntu plucky/main armhf libtraceevent1-plugin armhf 1:1.8.3-1ubuntu1 [18.1 kB] 471s Get:80 http://ftpmaster.internal/ubuntu plucky/main armhf libtraceevent1 armhf 1:1.8.3-1ubuntu1 [52.1 kB] 471s Get:81 http://ftpmaster.internal/ubuntu plucky/main armhf liburcu8t64 armhf 0.14.1-1 [56.6 kB] 471s Get:82 http://ftpmaster.internal/ubuntu plucky/main armhf libuv1t64 armhf 1.48.0-7 [83.3 kB] 471s Get:83 http://ftpmaster.internal/ubuntu plucky/main armhf libx11-data all 2:1.8.10-2 [116 kB] 471s Get:84 http://ftpmaster.internal/ubuntu plucky/main armhf libx11-6 armhf 2:1.8.10-2 [587 kB] 471s Get:85 http://ftpmaster.internal/ubuntu plucky/main armhf libxau6 armhf 1:1.0.11-1 [6558 B] 471s Get:86 http://ftpmaster.internal/ubuntu plucky/main armhf nano armhf 8.2-1 [276 kB] 471s Get:87 http://ftpmaster.internal/ubuntu plucky/main armhf pci.ids all 0.0~2024.10.24-1 [279 kB] 471s Get:88 http://ftpmaster.internal/ubuntu plucky/main armhf plymouth-theme-ubuntu-text armhf 24.004.60-1ubuntu11 [9920 B] 471s Get:89 http://ftpmaster.internal/ubuntu plucky/main armhf plymouth armhf 24.004.60-1ubuntu11 [142 kB] 471s Get:90 http://ftpmaster.internal/ubuntu plucky/main armhf python3.12-gdbm armhf 3.12.7-3 [28.7 kB] 471s Get:91 http://ftpmaster.internal/ubuntu plucky/main armhf ufw all 0.36.2-8 [170 kB] 471s Get:92 http://ftpmaster.internal/ubuntu plucky/main armhf usbutils armhf 1:018-1 [76.1 kB] 471s Get:93 http://ftpmaster.internal/ubuntu plucky/main armhf dpkg-dev all 1.22.11ubuntu3 [1088 kB] 472s Get:94 http://ftpmaster.internal/ubuntu plucky/main armhf libdpkg-perl all 1.22.11ubuntu3 [279 kB] 472s Get:95 http://ftpmaster.internal/ubuntu plucky/main armhf libarchive13t64 armhf 3.7.4-1.1 [331 kB] 472s Get:96 http://ftpmaster.internal/ubuntu plucky/main armhf libftdi1-2 armhf 1.5-7 [25.7 kB] 472s Get:97 http://ftpmaster.internal/ubuntu plucky/main armhf libflashrom1 armhf 1.4.0-3ubuntu1 [141 kB] 472s Get:98 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-glib-1.0-common all 1.10.0+ds-3 [5586 B] 472s Get:99 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-glib-1.0-0 armhf 1.10.0+ds-3 [61.7 kB] 472s Get:100 http://ftpmaster.internal/ubuntu plucky/main armhf libfwupd2 armhf 1.9.26-2 [125 kB] 472s Get:101 http://ftpmaster.internal/ubuntu plucky/main armhf libxmlb2 armhf 0.3.21-1 [57.7 kB] 472s Get:102 http://ftpmaster.internal/ubuntu plucky/main armhf fwupd armhf 1.9.26-2 [4404 kB] 472s Get:103 http://ftpmaster.internal/ubuntu plucky/main armhf libblockdev-utils3 armhf 3.2.1-1 [17.4 kB] 472s Get:104 http://ftpmaster.internal/ubuntu plucky/main armhf libblockdev-crypto3 armhf 3.2.1-1 [22.4 kB] 472s Get:105 http://ftpmaster.internal/ubuntu plucky/main armhf libblockdev-fs3 armhf 3.2.1-1 [34.3 kB] 472s Get:106 http://ftpmaster.internal/ubuntu plucky/main armhf libblockdev-loop3 armhf 3.2.1-1 [6552 B] 472s Get:107 http://ftpmaster.internal/ubuntu plucky/main armhf libbytesize1 armhf 2.11-1ubuntu1 [12.0 kB] 472s Get:108 http://ftpmaster.internal/ubuntu plucky/main armhf libbytesize-common all 2.11-1ubuntu1 [3584 B] 472s Get:109 http://ftpmaster.internal/ubuntu plucky/main armhf libblockdev-mdraid3 armhf 3.2.1-1 [13.4 kB] 472s Get:110 http://ftpmaster.internal/ubuntu plucky/main armhf libnvme1t64 armhf 1.11-1 [73.8 kB] 472s Get:111 http://ftpmaster.internal/ubuntu plucky/main armhf libblockdev-nvme3 armhf 3.2.1-1 [17.6 kB] 472s Get:112 http://ftpmaster.internal/ubuntu plucky/main armhf libblockdev-part3 armhf 3.2.1-1 [16.5 kB] 472s Get:113 http://ftpmaster.internal/ubuntu plucky/main armhf libblockdev-swap3 armhf 3.2.1-1 [8952 B] 472s Get:114 http://ftpmaster.internal/ubuntu plucky/main armhf libblockdev3 armhf 3.2.1-1 [44.2 kB] 472s Get:115 http://ftpmaster.internal/ubuntu plucky/main armhf libgpgme11t64 armhf 1.23.2-5ubuntu4 [123 kB] 472s Get:116 http://ftpmaster.internal/ubuntu plucky/main armhf libinih1 armhf 58-1ubuntu1 [6750 B] 472s Get:117 http://ftpmaster.internal/ubuntu plucky/main armhf libldap-common all 2.6.8+dfsg-1~exp4ubuntu3 [32.3 kB] 472s Get:118 http://ftpmaster.internal/ubuntu plucky/main armhf libldap2 armhf 2.6.8+dfsg-1~exp4ubuntu3 [173 kB] 472s Get:119 http://ftpmaster.internal/ubuntu plucky/main armhf libnspr4 armhf 2:4.35-1.1ubuntu2 [94.1 kB] 472s Get:120 http://ftpmaster.internal/ubuntu plucky/main armhf libsgutils2-1.46-2 armhf 1.46-3ubuntu5 [82.5 kB] 472s Get:121 http://ftpmaster.internal/ubuntu plucky/main armhf libssh2-1t64 armhf 1.11.1-1 [116 kB] 472s Get:122 http://ftpmaster.internal/ubuntu plucky/main armhf udisks2 armhf 2.10.1-11ubuntu1 [278 kB] 472s Get:123 http://ftpmaster.internal/ubuntu plucky/main armhf libudisks2-0 armhf 2.10.1-11ubuntu1 [142 kB] 473s Get:124 http://ftpmaster.internal/ubuntu plucky/main armhf libutempter0 armhf 1.2.1-4 [9062 B] 473s Get:125 http://ftpmaster.internal/ubuntu plucky/main armhf python3-certifi all 2024.8.30+dfsg-1 [9742 B] 473s Get:126 http://ftpmaster.internal/ubuntu plucky/main armhf python3-configobj all 5.0.9-1 [33.9 kB] 473s Get:127 http://ftpmaster.internal/ubuntu plucky/main armhf python3-idna all 3.8-2 [47.0 kB] 473s Get:128 http://ftpmaster.internal/ubuntu plucky/main armhf python3-more-itertools all 10.5.0-1 [56.2 kB] 473s Get:129 http://ftpmaster.internal/ubuntu plucky/main armhf python3-jaraco.functools all 4.1.0-1 [11.8 kB] 473s Get:130 http://ftpmaster.internal/ubuntu plucky/main armhf python3-json-pointer all 2.4-2 [8396 B] 473s Get:131 http://ftpmaster.internal/ubuntu plucky/main armhf python3-jsonpatch all 1.32-4 [12.2 kB] 473s Get:132 http://ftpmaster.internal/ubuntu plucky/main armhf python3-lazr.uri all 1.0.6-4 [13.6 kB] 473s Get:133 http://ftpmaster.internal/ubuntu plucky/main armhf python3-wadllib all 2.0.0-1 [36.7 kB] 473s Get:134 http://ftpmaster.internal/ubuntu plucky/main armhf python3-oauthlib all 3.2.2-2 [89.8 kB] 473s Get:135 http://ftpmaster.internal/ubuntu plucky/main armhf python3-lazr.restfulclient all 0.14.6-2 [50.9 kB] 473s Get:136 http://ftpmaster.internal/ubuntu plucky/main armhf python3-typeguard all 4.4.1-1 [29.0 kB] 473s Get:137 http://ftpmaster.internal/ubuntu plucky/main armhf python3-urllib3 all 2.0.7-2ubuntu0.1 [93.1 kB] 473s Get:138 http://ftpmaster.internal/ubuntu plucky/main armhf python3-zipp all 3.21.0-1 [10.2 kB] 473s Get:139 http://ftpmaster.internal/ubuntu plucky/main armhf sg3-utils armhf 1.46-3ubuntu5 [816 kB] 473s Get:140 http://ftpmaster.internal/ubuntu plucky/main armhf sg3-utils-udev all 1.46-3ubuntu5 [5916 B] 473s Get:141 http://ftpmaster.internal/ubuntu plucky/main armhf systemd-cryptsetup armhf 256.5-2ubuntu4 [122 kB] 473s Get:142 http://ftpmaster.internal/ubuntu plucky/main armhf ssh-import-id all 5.11-0ubuntu3 [10.1 kB] 473s Preconfiguring packages ... 474s Fetched 45.4 MB in 4s (12.7 MB/s) 474s (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 ... 59386 files and directories currently installed.) 474s Preparing to unpack .../motd-news-config_13.5ubuntu3_all.deb ... 474s Unpacking motd-news-config (13.5ubuntu3) over (13.3ubuntu6) ... 474s Preparing to unpack .../base-files_13.5ubuntu3_armhf.deb ... 474s Unpacking base-files (13.5ubuntu3) over (13.3ubuntu6) ... 474s Setting up base-files (13.5ubuntu3) ... 474s Installing new version of config file /etc/issue ... 474s Installing new version of config file /etc/issue.net ... 474s Installing new version of config file /etc/lsb-release ... 475s motd-news.service is a disabled or a static unit not running, not starting it. 475s (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 ... 59386 files and directories currently installed.) 475s Preparing to unpack .../dpkg_1.22.11ubuntu3_armhf.deb ... 475s Unpacking dpkg (1.22.11ubuntu3) over (1.22.11ubuntu1) ... 475s Setting up dpkg (1.22.11ubuntu3) ... 475s (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 ... 59386 files and directories currently installed.) 475s Preparing to unpack .../perl_5.40.0-7_armhf.deb ... 475s Unpacking perl (5.40.0-7) over (5.38.2-5) ... 476s Selecting previously unselected package perl-modules-5.40. 476s Preparing to unpack .../perl-modules-5.40_5.40.0-7_all.deb ... 476s Unpacking perl-modules-5.40 (5.40.0-7) ... 476s Selecting previously unselected package libperl5.40:armhf. 476s Preparing to unpack .../libperl5.40_5.40.0-7_armhf.deb ... 476s Unpacking libperl5.40:armhf (5.40.0-7) ... 476s Preparing to unpack .../perl-base_5.40.0-7_armhf.deb ... 476s Unpacking perl-base (5.40.0-7) over (5.38.2-5) ... 476s Setting up perl-base (5.40.0-7) ... 477s (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 ... 61464 files and directories currently installed.) 477s Preparing to unpack .../liblocale-gettext-perl_1.07-7build1_armhf.deb ... 477s Unpacking liblocale-gettext-perl (1.07-7build1) over (1.07-7) ... 477s Preparing to unpack .../libtext-iconv-perl_1.7-8build4_armhf.deb ... 477s Unpacking libtext-iconv-perl:armhf (1.7-8build4) over (1.7-8build3) ... 477s Preparing to unpack .../libtext-charwidth-perl_0.04-11build4_armhf.deb ... 477s Unpacking libtext-charwidth-perl:armhf (0.04-11build4) over (0.04-11build3) ... 477s Preparing to unpack .../libdb5.3t64_5.3.28+dfsg2-9_armhf.deb ... 477s Unpacking libdb5.3t64:armhf (5.3.28+dfsg2-9) over (5.3.28+dfsg2-7) ... 477s Setting up libdb5.3t64:armhf (5.3.28+dfsg2-9) ... 477s (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 ... 61464 files and directories currently installed.) 477s Preparing to unpack .../base-passwd_3.6.5_armhf.deb ... 477s Unpacking base-passwd (3.6.5) over (3.6.4) ... 477s Setting up base-passwd (3.6.5) ... 477s (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 ... 61465 files and directories currently installed.) 477s Preparing to unpack .../0-python3.12_3.12.7-3_armhf.deb ... 477s Unpacking python3.12 (3.12.7-3) over (3.12.7-1) ... 477s Preparing to unpack .../1-python3.12-minimal_3.12.7-3_armhf.deb ... 477s Unpacking python3.12-minimal (3.12.7-3) over (3.12.7-1) ... 477s Preparing to unpack .../2-libpython3.12-stdlib_3.12.7-3_armhf.deb ... 477s Unpacking libpython3.12-stdlib:armhf (3.12.7-3) over (3.12.7-1) ... 478s Preparing to unpack .../3-libpython3.12-minimal_3.12.7-3_armhf.deb ... 478s Unpacking libpython3.12-minimal:armhf (3.12.7-3) over (3.12.7-1) ... 478s Preparing to unpack .../4-tzdata_2024b-1ubuntu2_all.deb ... 478s Unpacking tzdata (2024b-1ubuntu2) over (2024a-4ubuntu1) ... 478s Preparing to unpack .../5-libnss-systemd_256.5-2ubuntu4_armhf.deb ... 478s Unpacking libnss-systemd:armhf (256.5-2ubuntu4) over (256.5-2ubuntu3) ... 478s Preparing to unpack .../6-systemd-timesyncd_256.5-2ubuntu4_armhf.deb ... 478s Unpacking systemd-timesyncd (256.5-2ubuntu4) over (256.5-2ubuntu3) ... 478s Preparing to unpack .../7-systemd-resolved_256.5-2ubuntu4_armhf.deb ... 478s Unpacking systemd-resolved (256.5-2ubuntu4) over (256.5-2ubuntu3) ... 478s Preparing to unpack .../8-libsystemd-shared_256.5-2ubuntu4_armhf.deb ... 478s Unpacking libsystemd-shared:armhf (256.5-2ubuntu4) over (256.5-2ubuntu3) ... 478s Preparing to unpack .../9-libsystemd0_256.5-2ubuntu4_armhf.deb ... 478s Unpacking libsystemd0:armhf (256.5-2ubuntu4) over (256.5-2ubuntu3) ... 478s Setting up libsystemd0:armhf (256.5-2ubuntu4) ... 478s (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 ... 61464 files and directories currently installed.) 478s Preparing to unpack .../systemd-sysv_256.5-2ubuntu4_armhf.deb ... 478s Unpacking systemd-sysv (256.5-2ubuntu4) over (256.5-2ubuntu3) ... 478s Preparing to unpack .../libpam-systemd_256.5-2ubuntu4_armhf.deb ... 478s Unpacking libpam-systemd:armhf (256.5-2ubuntu4) over (256.5-2ubuntu3) ... 479s Preparing to unpack .../systemd_256.5-2ubuntu4_armhf.deb ... 479s Unpacking systemd (256.5-2ubuntu4) over (256.5-2ubuntu3) ... 479s Preparing to unpack .../udev_256.5-2ubuntu4_armhf.deb ... 479s Unpacking udev (256.5-2ubuntu4) over (256.5-2ubuntu3) ... 479s Preparing to unpack .../libudev1_256.5-2ubuntu4_armhf.deb ... 479s Unpacking libudev1:armhf (256.5-2ubuntu4) over (256.5-2ubuntu3) ... 479s Setting up libudev1:armhf (256.5-2ubuntu4) ... 479s (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 ... 61464 files and directories currently installed.) 479s Preparing to unpack .../0-python3-problem-report_2.30.0-0ubuntu5_all.deb ... 480s Unpacking python3-problem-report (2.30.0-0ubuntu5) over (2.30.0-0ubuntu4) ... 480s Preparing to unpack .../1-python3-apport_2.30.0-0ubuntu5_all.deb ... 480s Unpacking python3-apport (2.30.0-0ubuntu5) over (2.30.0-0ubuntu4) ... 480s Preparing to unpack .../2-python3-gi_3.50.0-3_armhf.deb ... 480s Unpacking python3-gi (3.50.0-3) over (3.48.2-1) ... 480s Preparing to unpack .../3-apport-core-dump-handler_2.30.0-0ubuntu5_all.deb ... 480s Unpacking apport-core-dump-handler (2.30.0-0ubuntu5) over (2.30.0-0ubuntu4) ... 480s Preparing to unpack .../4-apport_2.30.0-0ubuntu5_all.deb ... 480s Unpacking apport (2.30.0-0ubuntu5) over (2.30.0-0ubuntu4) ... 480s Preparing to unpack .../5-libbsd0_0.12.2-2_armhf.deb ... 480s Unpacking libbsd0:armhf (0.12.2-2) over (0.12.2-1) ... 480s Setting up libbsd0:armhf (0.12.2-2) ... 480s (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 ... 61456 files and directories currently installed.) 480s Preparing to unpack .../0-libedit2_3.1-20240808-1_armhf.deb ... 480s Unpacking libedit2:armhf (3.1-20240808-1) over (3.1-20240517-1) ... 480s Preparing to unpack .../1-openssh-sftp-server_1%3a9.7p1-7ubuntu5_armhf.deb ... 480s Unpacking openssh-sftp-server (1:9.7p1-7ubuntu5) over (1:9.7p1-7ubuntu4) ... 480s Preparing to unpack .../2-openssh-server_1%3a9.7p1-7ubuntu5_armhf.deb ... 480s Unpacking openssh-server (1:9.7p1-7ubuntu5) over (1:9.7p1-7ubuntu4) ... 480s Preparing to unpack .../3-openssh-client_1%3a9.7p1-7ubuntu5_armhf.deb ... 480s Unpacking openssh-client (1:9.7p1-7ubuntu5) over (1:9.7p1-7ubuntu4) ... 481s Preparing to unpack .../4-libatomic1_14.2.0-8ubuntu1_armhf.deb ... 481s Unpacking libatomic1:armhf (14.2.0-8ubuntu1) over (14.2.0-4ubuntu2) ... 481s Preparing to unpack .../5-gcc-14-base_14.2.0-8ubuntu1_armhf.deb ... 481s Unpacking gcc-14-base:armhf (14.2.0-8ubuntu1) over (14.2.0-4ubuntu2) ... 481s Setting up gcc-14-base:armhf (14.2.0-8ubuntu1) ... 481s (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 ... 61456 files and directories currently installed.) 481s Preparing to unpack .../libstdc++6_14.2.0-8ubuntu1_armhf.deb ... 481s Unpacking libstdc++6:armhf (14.2.0-8ubuntu1) over (14.2.0-4ubuntu2) ... 481s Setting up libstdc++6:armhf (14.2.0-8ubuntu1) ... 481s (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 ... 61456 files and directories currently installed.) 481s Preparing to unpack .../libgcc-s1_14.2.0-8ubuntu1_armhf.deb ... 481s Unpacking libgcc-s1:armhf (14.2.0-8ubuntu1) over (14.2.0-4ubuntu2) ... 481s Setting up libgcc-s1:armhf (14.2.0-8ubuntu1) ... 481s (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 ... 61456 files and directories currently installed.) 481s Preparing to unpack .../libattr1_1%3a2.5.2-2_armhf.deb ... 481s Unpacking libattr1:armhf (1:2.5.2-2) over (1:2.5.2-1build2) ... 481s Setting up libattr1:armhf (1:2.5.2-2) ... 481s (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 ... 61456 files and directories currently installed.) 481s Preparing to unpack .../libgnutls30t64_3.8.8-2ubuntu1_armhf.deb ... 481s Unpacking libgnutls30t64:armhf (3.8.8-2ubuntu1) over (3.8.6-2ubuntu1) ... 481s Setting up libgnutls30t64:armhf (3.8.8-2ubuntu1) ... 481s (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 ... 61456 files and directories currently installed.) 481s Preparing to unpack .../install-info_7.1.1-1_armhf.deb ... 481s Unpacking install-info (7.1.1-1) over (7.1-3build2) ... 481s Setting up install-info (7.1.1-1) ... 481s (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 ... 61456 files and directories currently installed.) 481s Preparing to unpack .../00-mawk_1.3.4.20240905-1_armhf.deb ... 481s Unpacking mawk (1.3.4.20240905-1) over (1.3.4.20240622-2) ... 481s Preparing to unpack .../01-dhcpcd-base_1%3a10.1.0-2_armhf.deb ... 481s Unpacking dhcpcd-base (1:10.1.0-2) over (1:10.0.8-3) ... 482s Preparing to unpack .../02-distro-info-data_0.63_all.deb ... 482s Unpacking distro-info-data (0.63) over (0.62) ... 482s Preparing to unpack .../03-libdw1t64_0.192-4_armhf.deb ... 482s Unpacking libdw1t64:armhf (0.192-4) over (0.191-2) ... 482s Preparing to unpack .../04-libelf1t64_0.192-4_armhf.deb ... 482s Unpacking libelf1t64:armhf (0.192-4) over (0.191-2) ... 482s Preparing to unpack .../05-libbpf1_1%3a1.5.0-1_armhf.deb ... 482s Unpacking libbpf1:armhf (1:1.5.0-1) over (1:1.4.5-1) ... 482s Preparing to unpack .../06-libmnl0_1.0.5-3_armhf.deb ... 482s Unpacking libmnl0:armhf (1.0.5-3) over (1.0.5-2build1) ... 482s Preparing to unpack .../07-iproute2_6.10.0-2ubuntu1_armhf.deb ... 482s Unpacking iproute2 (6.10.0-2ubuntu1) over (6.10.0-2) ... 482s Preparing to unpack .../08-libfastjson4_1.2304.0-2_armhf.deb ... 482s Unpacking libfastjson4:armhf (1.2304.0-2) over (1.2304.0-1build1) ... 482s Preparing to unpack .../09-libjson-c5_0.18+ds-1_armhf.deb ... 482s Unpacking libjson-c5:armhf (0.18+ds-1) over (0.17-1build1) ... 482s Preparing to unpack .../10-libkeyutils1_1.6.3-4ubuntu2_armhf.deb ... 482s Unpacking libkeyutils1:armhf (1.6.3-4ubuntu2) over (1.6.3-3build1) ... 482s Preparing to unpack .../11-netplan-generator_1.1.1-1_armhf.deb ... 482s Adding 'diversion of /lib/systemd/system-generators/netplan to /lib/systemd/system-generators/netplan.usr-is-merged by netplan-generator' 482s Unpacking netplan-generator (1.1.1-1) over (1.1-1) ... 482s Preparing to unpack .../12-python3-cffi-backend_1.17.1-2_armhf.deb ... 482s Unpacking python3-cffi-backend:armhf (1.17.1-2) over (1.17.1-1) ... 482s Preparing to unpack .../13-python3-netplan_1.1.1-1_armhf.deb ... 482s Unpacking python3-netplan (1.1.1-1) over (1.1-1) ... 482s Preparing to unpack .../14-netplan.io_1.1.1-1_armhf.deb ... 482s Unpacking netplan.io (1.1.1-1) over (1.1-1) ... 482s Preparing to unpack .../15-libnetplan1_1.1.1-1_armhf.deb ... 482s Unpacking libnetplan1:armhf (1.1.1-1) over (1.1-1) ... 482s Preparing to unpack .../16-python3-newt_0.52.24-2ubuntu4_armhf.deb ... 483s Unpacking python3-newt:armhf (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 483s Preparing to unpack .../17-libnewt0.52_0.52.24-2ubuntu4_armhf.deb ... 483s Unpacking libnewt0.52:armhf (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 483s Preparing to unpack .../18-libpopt0_1.19+dfsg-2_armhf.deb ... 483s Unpacking libpopt0:armhf (1.19+dfsg-2) over (1.19+dfsg-1build1) ... 483s Preparing to unpack .../19-vim-tiny_2%3a9.1.0777-1ubuntu1_armhf.deb ... 483s Unpacking vim-tiny (2:9.1.0777-1ubuntu1) over (2:9.1.0496-1ubuntu6) ... 483s Preparing to unpack .../20-vim-common_2%3a9.1.0777-1ubuntu1_all.deb ... 483s Unpacking vim-common (2:9.1.0777-1ubuntu1) over (2:9.1.0496-1ubuntu6) ... 483s Preparing to unpack .../21-whiptail_0.52.24-2ubuntu4_armhf.deb ... 483s Unpacking whiptail (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 483s Preparing to unpack .../22-xxd_2%3a9.1.0777-1ubuntu1_armhf.deb ... 483s Unpacking xxd (2:9.1.0777-1ubuntu1) over (2:9.1.0496-1ubuntu6) ... 483s Preparing to unpack .../23-bash-completion_1%3a2.14.0-2_all.deb ... 483s Unpacking bash-completion (1:2.14.0-2) over (1:2.14.0-1) ... 483s Preparing to unpack .../24-info_7.1.1-1_armhf.deb ... 483s Unpacking info (7.1.1-1) over (7.1-3build2) ... 483s Preparing to unpack .../25-libdrm-common_2.4.123-1_all.deb ... 483s Unpacking libdrm-common (2.4.123-1) over (2.4.122-1) ... 483s Preparing to unpack .../26-libdrm2_2.4.123-1_armhf.deb ... 483s Unpacking libdrm2:armhf (2.4.123-1) over (2.4.122-1) ... 483s Preparing to unpack .../27-libevdev2_1.13.3+dfsg-1_armhf.deb ... 483s Unpacking libevdev2:armhf (1.13.3+dfsg-1) over (1.13.2+dfsg-1) ... 483s Preparing to unpack .../28-libmaxminddb0_1.11.0-1_armhf.deb ... 483s Unpacking libmaxminddb0:armhf (1.11.0-1) over (1.10.0-1) ... 483s Preparing to unpack .../29-libnetfilter-conntrack3_1.1.0-1_armhf.deb ... 483s Unpacking libnetfilter-conntrack3:armhf (1.1.0-1) over (1.0.9-6build1) ... 483s Preparing to unpack .../30-libnghttp2-14_1.64.0-1_armhf.deb ... 483s Unpacking libnghttp2-14:armhf (1.64.0-1) over (1.62.1-2) ... 484s Preparing to unpack .../31-libpipeline1_1.5.8-1_armhf.deb ... 484s Unpacking libpipeline1:armhf (1.5.8-1) over (1.5.7-2) ... 484s Preparing to unpack .../32-libpng16-16t64_1.6.44-2_armhf.deb ... 484s Unpacking libpng16-16t64:armhf (1.6.44-2) over (1.6.44-1) ... 484s Preparing to unpack .../33-libplymouth5_24.004.60-1ubuntu11_armhf.deb ... 484s Unpacking libplymouth5:armhf (24.004.60-1ubuntu11) over (24.004.60-1ubuntu10) ... 484s Preparing to unpack .../34-libtraceevent1-plugin_1%3a1.8.3-1ubuntu1_armhf.deb ... 484s Unpacking libtraceevent1-plugin:armhf (1:1.8.3-1ubuntu1) over (1:1.8.2-1ubuntu3) ... 484s Preparing to unpack .../35-libtraceevent1_1%3a1.8.3-1ubuntu1_armhf.deb ... 484s Unpacking libtraceevent1:armhf (1:1.8.3-1ubuntu1) over (1:1.8.2-1ubuntu3) ... 484s Preparing to unpack .../36-liburcu8t64_0.14.1-1_armhf.deb ... 484s Unpacking liburcu8t64:armhf (0.14.1-1) over (0.14.0-4) ... 484s Preparing to unpack .../37-libuv1t64_1.48.0-7_armhf.deb ... 484s Unpacking libuv1t64:armhf (1.48.0-7) over (1.48.0-5) ... 484s Preparing to unpack .../38-libx11-data_2%3a1.8.10-2_all.deb ... 484s Unpacking libx11-data (2:1.8.10-2) over (2:1.8.7-1build1) ... 484s Preparing to unpack .../39-libx11-6_2%3a1.8.10-2_armhf.deb ... 484s Unpacking libx11-6:armhf (2:1.8.10-2) over (2:1.8.7-1build1) ... 484s Preparing to unpack .../40-libxau6_1%3a1.0.11-1_armhf.deb ... 484s Unpacking libxau6:armhf (1:1.0.11-1) over (1:1.0.9-1build6) ... 484s Preparing to unpack .../41-nano_8.2-1_armhf.deb ... 484s Unpacking nano (8.2-1) over (8.1-1) ... 484s Preparing to unpack .../42-pci.ids_0.0~2024.10.24-1_all.deb ... 484s Unpacking pci.ids (0.0~2024.10.24-1) over (0.0~2024.09.12-1) ... 484s Preparing to unpack .../43-plymouth-theme-ubuntu-text_24.004.60-1ubuntu11_armhf.deb ... 484s Unpacking plymouth-theme-ubuntu-text (24.004.60-1ubuntu11) over (24.004.60-1ubuntu10) ... 484s Preparing to unpack .../44-plymouth_24.004.60-1ubuntu11_armhf.deb ... 484s Unpacking plymouth (24.004.60-1ubuntu11) over (24.004.60-1ubuntu10) ... 484s Preparing to unpack .../45-python3.12-gdbm_3.12.7-3_armhf.deb ... 484s Unpacking python3.12-gdbm (3.12.7-3) over (3.12.7-1) ... 484s Preparing to unpack .../46-ufw_0.36.2-8_all.deb ... 485s Unpacking ufw (0.36.2-8) over (0.36.2-6) ... 485s Preparing to unpack .../47-usbutils_1%3a018-1_armhf.deb ... 485s Unpacking usbutils (1:018-1) over (1:017-3build1) ... 485s Preparing to unpack .../48-dpkg-dev_1.22.11ubuntu3_all.deb ... 485s Unpacking dpkg-dev (1.22.11ubuntu3) over (1.22.11ubuntu1) ... 485s Preparing to unpack .../49-libdpkg-perl_1.22.11ubuntu3_all.deb ... 485s Unpacking libdpkg-perl (1.22.11ubuntu3) over (1.22.11ubuntu1) ... 485s Preparing to unpack .../50-libarchive13t64_3.7.4-1.1_armhf.deb ... 485s Unpacking libarchive13t64:armhf (3.7.4-1.1) over (3.7.4-1) ... 485s Preparing to unpack .../51-libftdi1-2_1.5-7_armhf.deb ... 485s Unpacking libftdi1-2:armhf (1.5-7) over (1.5-6build5) ... 485s Preparing to unpack .../52-libflashrom1_1.4.0-3ubuntu1_armhf.deb ... 485s Unpacking libflashrom1:armhf (1.4.0-3ubuntu1) over (1.3.0-2.1ubuntu2) ... 485s Preparing to unpack .../53-libjson-glib-1.0-common_1.10.0+ds-3_all.deb ... 485s Unpacking libjson-glib-1.0-common (1.10.0+ds-3) over (1.8.0-2build2) ... 485s Preparing to unpack .../54-libjson-glib-1.0-0_1.10.0+ds-3_armhf.deb ... 485s Unpacking libjson-glib-1.0-0:armhf (1.10.0+ds-3) over (1.8.0-2build2) ... 485s Preparing to unpack .../55-libfwupd2_1.9.26-2_armhf.deb ... 485s Unpacking libfwupd2:armhf (1.9.26-2) over (1.9.24-1) ... 485s Preparing to unpack .../56-libxmlb2_0.3.21-1_armhf.deb ... 485s Unpacking libxmlb2:armhf (0.3.21-1) over (0.3.19-1) ... 485s Preparing to unpack .../57-fwupd_1.9.26-2_armhf.deb ... 485s Unpacking fwupd (1.9.26-2) over (1.9.24-1) ... 486s Preparing to unpack .../58-libblockdev-utils3_3.2.1-1_armhf.deb ... 486s Unpacking libblockdev-utils3:armhf (3.2.1-1) over (3.1.1-2) ... 486s Preparing to unpack .../59-libblockdev-crypto3_3.2.1-1_armhf.deb ... 486s Unpacking libblockdev-crypto3:armhf (3.2.1-1) over (3.1.1-2) ... 486s Preparing to unpack .../60-libblockdev-fs3_3.2.1-1_armhf.deb ... 486s Unpacking libblockdev-fs3:armhf (3.2.1-1) over (3.1.1-2) ... 486s Preparing to unpack .../61-libblockdev-loop3_3.2.1-1_armhf.deb ... 486s Unpacking libblockdev-loop3:armhf (3.2.1-1) over (3.1.1-2) ... 486s Preparing to unpack .../62-libbytesize1_2.11-1ubuntu1_armhf.deb ... 486s Unpacking libbytesize1:armhf (2.11-1ubuntu1) over (2.10-1ubuntu2) ... 486s Preparing to unpack .../63-libbytesize-common_2.11-1ubuntu1_all.deb ... 486s Unpacking libbytesize-common (2.11-1ubuntu1) over (2.10-1ubuntu2) ... 486s Preparing to unpack .../64-libblockdev-mdraid3_3.2.1-1_armhf.deb ... 486s Unpacking libblockdev-mdraid3:armhf (3.2.1-1) over (3.1.1-2) ... 486s Preparing to unpack .../65-libnvme1t64_1.11-1_armhf.deb ... 486s Unpacking libnvme1t64 (1.11-1) over (1.10-1) ... 486s Preparing to unpack .../66-libblockdev-nvme3_3.2.1-1_armhf.deb ... 486s Unpacking libblockdev-nvme3:armhf (3.2.1-1) over (3.1.1-2) ... 486s Preparing to unpack .../67-libblockdev-part3_3.2.1-1_armhf.deb ... 486s Unpacking libblockdev-part3:armhf (3.2.1-1) over (3.1.1-2) ... 486s Preparing to unpack .../68-libblockdev-swap3_3.2.1-1_armhf.deb ... 486s Unpacking libblockdev-swap3:armhf (3.2.1-1) over (3.1.1-2) ... 486s Preparing to unpack .../69-libblockdev3_3.2.1-1_armhf.deb ... 486s Unpacking libblockdev3:armhf (3.2.1-1) over (3.1.1-2) ... 486s Preparing to unpack .../70-libgpgme11t64_1.23.2-5ubuntu4_armhf.deb ... 486s Unpacking libgpgme11t64:armhf (1.23.2-5ubuntu4) over (1.18.0-4.1ubuntu4) ... 486s Preparing to unpack .../71-libinih1_58-1ubuntu1_armhf.deb ... 486s Unpacking libinih1:armhf (58-1ubuntu1) over (55-1ubuntu2) ... 486s Preparing to unpack .../72-libldap-common_2.6.8+dfsg-1~exp4ubuntu3_all.deb ... 486s Unpacking libldap-common (2.6.8+dfsg-1~exp4ubuntu3) over (2.6.8+dfsg-1~exp4ubuntu1) ... 486s Preparing to unpack .../73-libldap2_2.6.8+dfsg-1~exp4ubuntu3_armhf.deb ... 486s Unpacking libldap2:armhf (2.6.8+dfsg-1~exp4ubuntu3) over (2.6.8+dfsg-1~exp4ubuntu1) ... 486s Preparing to unpack .../74-libnspr4_2%3a4.35-1.1ubuntu2_armhf.deb ... 486s Unpacking libnspr4:armhf (2:4.35-1.1ubuntu2) over (2:4.35-1.1ubuntu1) ... 486s Preparing to unpack .../75-libsgutils2-1.46-2_1.46-3ubuntu5_armhf.deb ... 486s Unpacking libsgutils2-1.46-2:armhf (1.46-3ubuntu5) over (1.46-3ubuntu4) ... 486s Preparing to unpack .../76-libssh2-1t64_1.11.1-1_armhf.deb ... 486s Unpacking libssh2-1t64:armhf (1.11.1-1) over (1.11.0-7) ... 486s Preparing to unpack .../77-udisks2_2.10.1-11ubuntu1_armhf.deb ... 486s Unpacking udisks2 (2.10.1-11ubuntu1) over (2.10.1-9ubuntu2) ... 486s Preparing to unpack .../78-libudisks2-0_2.10.1-11ubuntu1_armhf.deb ... 486s Unpacking libudisks2-0:armhf (2.10.1-11ubuntu1) over (2.10.1-9ubuntu2) ... 486s Preparing to unpack .../79-libutempter0_1.2.1-4_armhf.deb ... 486s Unpacking libutempter0:armhf (1.2.1-4) over (1.2.1-3build1) ... 486s Preparing to unpack .../80-python3-certifi_2024.8.30+dfsg-1_all.deb ... 487s Unpacking python3-certifi (2024.8.30+dfsg-1) over (2024.6.2-1) ... 487s Preparing to unpack .../81-python3-configobj_5.0.9-1_all.deb ... 487s Unpacking python3-configobj (5.0.9-1) over (5.0.8-3) ... 487s Preparing to unpack .../82-python3-idna_3.8-2_all.deb ... 487s Unpacking python3-idna (3.8-2) over (3.6-2.1) ... 487s Preparing to unpack .../83-python3-more-itertools_10.5.0-1_all.deb ... 487s Unpacking python3-more-itertools (10.5.0-1) over (10.3.0-1) ... 487s Preparing to unpack .../84-python3-jaraco.functools_4.1.0-1_all.deb ... 487s Unpacking python3-jaraco.functools (4.1.0-1) over (4.0.2-1) ... 487s Preparing to unpack .../85-python3-json-pointer_2.4-2_all.deb ... 487s Unpacking python3-json-pointer (2.4-2) over (2.0-0ubuntu1) ... 487s Preparing to unpack .../86-python3-jsonpatch_1.32-4_all.deb ... 487s Unpacking python3-jsonpatch (1.32-4) over (1.32-3) ... 487s Preparing to unpack .../87-python3-lazr.uri_1.0.6-4_all.deb ... 487s Unpacking python3-lazr.uri (1.0.6-4) over (1.0.6-3) ... 488s Preparing to unpack .../88-python3-wadllib_2.0.0-1_all.deb ... 488s Unpacking python3-wadllib (2.0.0-1) over (1.3.6-5) ... 488s Preparing to unpack .../89-python3-oauthlib_3.2.2-2_all.deb ... 488s Unpacking python3-oauthlib (3.2.2-2) over (3.2.2-1) ... 488s Preparing to unpack .../90-python3-lazr.restfulclient_0.14.6-2_all.deb ... 488s Unpacking python3-lazr.restfulclient (0.14.6-2) over (0.14.6-1) ... 488s Preparing to unpack .../91-python3-typeguard_4.4.1-1_all.deb ... 488s Unpacking python3-typeguard (4.4.1-1) over (4.3.0-1) ... 488s Preparing to unpack .../92-python3-urllib3_2.0.7-2ubuntu0.1_all.deb ... 488s Unpacking python3-urllib3 (2.0.7-2ubuntu0.1) over (2.0.7-2) ... 488s Preparing to unpack .../93-python3-zipp_3.21.0-1_all.deb ... 488s Unpacking python3-zipp (3.21.0-1) over (3.20.0-1) ... 488s Preparing to unpack .../94-sg3-utils_1.46-3ubuntu5_armhf.deb ... 488s Unpacking sg3-utils (1.46-3ubuntu5) over (1.46-3ubuntu4) ... 488s Preparing to unpack .../95-sg3-utils-udev_1.46-3ubuntu5_all.deb ... 488s Unpacking sg3-utils-udev (1.46-3ubuntu5) over (1.46-3ubuntu4) ... 489s Selecting previously unselected package systemd-cryptsetup. 489s Preparing to unpack .../96-systemd-cryptsetup_256.5-2ubuntu4_armhf.deb ... 489s Unpacking systemd-cryptsetup (256.5-2ubuntu4) ... 489s Preparing to unpack .../97-ssh-import-id_5.11-0ubuntu3_all.deb ... 489s Unpacking ssh-import-id (5.11-0ubuntu3) over (5.11-0ubuntu2) ... 489s Setting up libpipeline1:armhf (1.5.8-1) ... 489s Setting up motd-news-config (13.5ubuntu3) ... 489s Setting up libtext-iconv-perl:armhf (1.7-8build4) ... 489s Setting up python3-more-itertools (10.5.0-1) ... 489s Setting up libtext-charwidth-perl:armhf (0.04-11build4) ... 489s Setting up liburcu8t64:armhf (0.14.1-1) ... 489s Setting up libxau6:armhf (1:1.0.11-1) ... 489s Setting up libkeyutils1:armhf (1.6.3-4ubuntu2) ... 489s Setting up pci.ids (0.0~2024.10.24-1) ... 489s Setting up libnewt0.52:armhf (0.52.24-2ubuntu4) ... 489s Setting up python3-jaraco.functools (4.1.0-1) ... 489s Setting up python3-problem-report (2.30.0-0ubuntu5) ... 489s Setting up distro-info-data (0.63) ... 489s Setting up libfastjson4:armhf (1.2304.0-2) ... 489s Setting up libinih1:armhf (58-1ubuntu1) ... 489s Setting up libmaxminddb0:armhf (1.11.0-1) ... 489s Setting up python3.12-gdbm (3.12.7-3) ... 489s Setting up libxmlb2:armhf (0.3.21-1) ... 489s Setting up libedit2:armhf (3.1-20240808-1) ... 489s Setting up python3-typeguard (4.4.1-1) ... 489s Setting up libuv1t64:armhf (1.48.0-7) ... 489s Setting up libpython3.12-minimal:armhf (3.12.7-3) ... 489s Setting up libnghttp2-14:armhf (1.64.0-1) ... 489s Setting up libsgutils2-1.46-2:armhf (1.46-3ubuntu5) ... 489s Setting up ufw (0.36.2-8) ... 491s Setting up python3-lazr.uri (1.0.6-4) ... 491s Setting up python3-zipp (3.21.0-1) ... 491s Setting up libnetplan1:armhf (1.1.1-1) ... 491s Setting up python3-newt:armhf (0.52.24-2ubuntu4) ... 491s Setting up libldap-common (2.6.8+dfsg-1~exp4ubuntu3) ... 491s Setting up usbutils (1:018-1) ... 491s Setting up xxd (2:9.1.0777-1ubuntu1) ... 491s Setting up libelf1t64:armhf (0.192-4) ... 491s Setting up python3-apport (2.30.0-0ubuntu5) ... 491s Setting up libdw1t64:armhf (0.192-4) ... 491s Setting up tzdata (2024b-1ubuntu2) ... 491s 491s Current default time zone: 'Etc/UTC' 491s Local time is now: Thu Nov 14 10:03:15 UTC 2024. 491s Universal Time is now: Thu Nov 14 10:03:15 UTC 2024. 491s Run 'dpkg-reconfigure tzdata' if you wish to change it. 491s 491s Setting up libftdi1-2:armhf (1.5-7) ... 491s Setting up libflashrom1:armhf (1.4.0-3ubuntu1) ... 491s Setting up python3-oauthlib (3.2.2-2) ... 492s Setting up python3-configobj (5.0.9-1) ... 492s Setting up vim-common (2:9.1.0777-1ubuntu1) ... 492s Installing new version of config file /etc/vim/vimrc ... 492s Setting up python3-certifi (2024.8.30+dfsg-1) ... 492s Setting up libx11-data (2:1.8.10-2) ... 492s Setting up libnspr4:armhf (2:4.35-1.1ubuntu2) ... 492s Setting up bash-completion (1:2.14.0-2) ... 492s Setting up python3-wadllib (2.0.0-1) ... 492s Setting up python3-gi (3.50.0-3) ... 492s Setting up libbytesize-common (2.11-1ubuntu1) ... 492s Setting up libblockdev-utils3:armhf (3.2.1-1) ... 492s Setting up libpng16-16t64:armhf (1.6.44-2) ... 492s Setting up libmnl0:armhf (1.0.5-3) ... 492s Setting up libatomic1:armhf (14.2.0-8ubuntu1) ... 492s Setting up python3-idna (3.8-2) ... 492s Setting up libsystemd-shared:armhf (256.5-2ubuntu4) ... 492s Setting up dhcpcd-base (1:10.1.0-2) ... 492s Setting up python3-urllib3 (2.0.7-2ubuntu0.1) ... 493s Setting up libutempter0:armhf (1.2.1-4) ... 493s Setting up nano (8.2-1) ... 493s Setting up libblockdev-fs3:armhf (3.2.1-1) ... 493s Setting up perl-modules-5.40 (5.40.0-7) ... 493s Setting up libnetfilter-conntrack3:armhf (1.1.0-1) ... 493s Setting up python3-json-pointer (2.4-2) ... 493s Setting up libtraceevent1:armhf (1:1.8.3-1ubuntu1) ... 493s Setting up libx11-6:armhf (2:1.8.10-2) ... 493s Setting up libjson-glib-1.0-common (1.10.0+ds-3) ... 493s Setting up mawk (1.3.4.20240905-1) ... 493s Setting up libbytesize1:armhf (2.11-1ubuntu1) ... 493s Setting up libgpgme11t64:armhf (1.23.2-5ubuntu4) ... 493s Setting up libssh2-1t64:armhf (1.11.1-1) ... 493s Setting up python3-lazr.restfulclient (0.14.6-2) ... 493s Setting up libdrm-common (2.4.123-1) ... 493s Setting up libarchive13t64:armhf (3.7.4-1.1) ... 493s Setting up libjson-c5:armhf (0.18+ds-1) ... 493s Setting up libevdev2:armhf (1.13.3+dfsg-1) ... 493s Setting up libldap2:armhf (2.6.8+dfsg-1~exp4ubuntu3) ... 493s Setting up info (7.1.1-1) ... 493s Setting up liblocale-gettext-perl (1.07-7build1) ... 493s Setting up libbpf1:armhf (1:1.5.0-1) ... 493s Setting up libudisks2-0:armhf (2.10.1-11ubuntu1) ... 493s Setting up python3-cffi-backend:armhf (1.17.1-2) ... 493s Setting up libpopt0:armhf (1.19+dfsg-2) ... 493s Setting up sg3-utils (1.46-3ubuntu5) ... 493s Setting up python3.12-minimal (3.12.7-3) ... 494s Setting up libpython3.12-stdlib:armhf (3.12.7-3) ... 494s Setting up libblockdev-mdraid3:armhf (3.2.1-1) ... 494s Setting up libblockdev-crypto3:armhf (3.2.1-1) ... 494s Setting up libblockdev-swap3:armhf (3.2.1-1) ... 494s Setting up iproute2 (6.10.0-2ubuntu1) ... 494s Setting up openssh-client (1:9.7p1-7ubuntu5) ... 494s Setting up ssh-import-id (5.11-0ubuntu3) ... 494s Setting up python3-jsonpatch (1.32-4) ... 495s Setting up python3.12 (3.12.7-3) ... 496s Setting up libblockdev-loop3:armhf (3.2.1-1) ... 496s Setting up systemd (256.5-2ubuntu4) ... 496s /usr/lib/tmpfiles.d/legacy.conf:13: Duplicate line for path "/run/lock", ignoring. 496s Created symlink '/run/systemd/system/tmp.mount' → '/dev/null'. 496s /usr/lib/tmpfiles.d/legacy.conf:13: Duplicate line for path "/run/lock", ignoring. 497s Setting up vim-tiny (2:9.1.0777-1ubuntu1) ... 497s Setting up libblockdev3:armhf (3.2.1-1) ... 497s Installing new version of config file /etc/libblockdev/3/conf.d/00-default.cfg ... 497s Setting up libjson-glib-1.0-0:armhf (1.10.0+ds-3) ... 497s Setting up libblockdev-part3:armhf (3.2.1-1) ... 497s Setting up sg3-utils-udev (1.46-3ubuntu5) ... 497s update-initramfs: deferring update (trigger activated) 497s Setting up libperl5.40:armhf (5.40.0-7) ... 497s Setting up perl (5.40.0-7) ... 497s Setting up systemd-cryptsetup (256.5-2ubuntu4) ... 497s Setting up libnvme1t64 (1.11-1) ... 497s Setting up systemd-timesyncd (256.5-2ubuntu4) ... 498s systemd-time-wait-sync.service is a disabled or a static unit not running, not starting it. 498s Setting up udev (256.5-2ubuntu4) ... 498s Setting up libdpkg-perl (1.22.11ubuntu3) ... 498s Setting up libblockdev-nvme3:armhf (3.2.1-1) ... 498s Setting up libdrm2:armhf (2.4.123-1) ... 498s Setting up whiptail (0.52.24-2ubuntu4) ... 498s Setting up libtraceevent1-plugin:armhf (1:1.8.3-1ubuntu1) ... 498s Setting up libplymouth5:armhf (24.004.60-1ubuntu11) ... 498s Setting up python3-netplan (1.1.1-1) ... 499s Setting up netplan-generator (1.1.1-1) ... 499s Removing 'diversion of /lib/systemd/system-generators/netplan to /lib/systemd/system-generators/netplan.usr-is-merged by netplan-generator' 499s Setting up systemd-resolved (256.5-2ubuntu4) ... 499s Setting up openssh-sftp-server (1:9.7p1-7ubuntu5) ... 499s Setting up udisks2 (2.10.1-11ubuntu1) ... 499s vda: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:01.3/0000:04:00.0/virtio2/block/vda/uevent': Permission denied 499s vda1: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:01.3/0000:04:00.0/virtio2/block/vda/vda1/uevent': Permission denied 499s vda15: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:01.3/0000:04:00.0/virtio2/block/vda/vda15/uevent': Permission denied 499s vda2: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:01.3/0000:04:00.0/virtio2/block/vda/vda2/uevent': Permission denied 499s loop0: Failed to write 'change' to '/sys/devices/virtual/block/loop0/uevent': Permission denied 499s loop1: Failed to write 'change' to '/sys/devices/virtual/block/loop1/uevent': Permission denied 499s loop2: Failed to write 'change' to '/sys/devices/virtual/block/loop2/uevent': Permission denied 499s loop3: Failed to write 'change' to '/sys/devices/virtual/block/loop3/uevent': Permission denied 499s loop4: Failed to write 'change' to '/sys/devices/virtual/block/loop4/uevent': Permission denied 499s loop5: Failed to write 'change' to '/sys/devices/virtual/block/loop5/uevent': Permission denied 499s loop6: Failed to write 'change' to '/sys/devices/virtual/block/loop6/uevent': Permission denied 499s loop7: Failed to write 'change' to '/sys/devices/virtual/block/loop7/uevent': Permission denied 499s loop8: Failed to write 'change' to '/sys/devices/virtual/block/loop8/uevent': Permission denied 500s Setting up systemd-sysv (256.5-2ubuntu4) ... 500s Setting up openssh-server (1:9.7p1-7ubuntu5) ... 501s Setting up plymouth (24.004.60-1ubuntu11) ... 501s update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults 502s update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults 502s Setting up libfwupd2:armhf (1.9.26-2) ... 502s Setting up libnss-systemd:armhf (256.5-2ubuntu4) ... 502s Setting up dpkg-dev (1.22.11ubuntu3) ... 502s Setting up netplan.io (1.1.1-1) ... 502s Setting up plymouth-theme-ubuntu-text (24.004.60-1ubuntu11) ... 502s update-initramfs: deferring update (trigger activated) 502s Setting up libpam-systemd:armhf (256.5-2ubuntu4) ... 502s Setting up fwupd (1.9.26-2) ... 503s fwupd-offline-update.service is a disabled or a static unit not running, not starting it. 503s fwupd-refresh.service is a disabled or a static unit not running, not starting it. 503s fwupd.service is a disabled or a static unit not running, not starting it. 503s Setting up apport-core-dump-handler (2.30.0-0ubuntu5) ... 504s Setting up apport (2.30.0-0ubuntu5) ... 504s Installing new version of config file /etc/apport/crashdb.conf ... 504s apport-autoreport.service is a disabled or a static unit not running, not starting it. 504s Processing triggers for dbus (1.14.10-4ubuntu5) ... 504s Processing triggers for shared-mime-info (2.4-5) ... 505s Processing triggers for install-info (7.1.1-1) ... 505s Processing triggers for initramfs-tools (0.142ubuntu34) ... 505s Processing triggers for libc-bin (2.40-1ubuntu3) ... 505s Processing triggers for rsyslog (8.2406.0-1ubuntu2) ... 505s Processing triggers for man-db (2.12.1-3) ... 507s Reading package lists... 508s Building dependency tree... 508s Reading state information... 508s The following packages will be REMOVED: 508s libperl5.38t64* perl-modules-5.38* python3-netifaces* 509s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 509s After this operation, 41.7 MB disk space will be freed. 509s (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 ... 61500 files and directories currently installed.) 509s Removing libperl5.38t64:armhf (5.38.2-5) ... 509s Removing perl-modules-5.38 (5.38.2-5) ... 509s Removing python3-netifaces:armhf (0.11.0-2build3) ... 509s Processing triggers for man-db (2.12.1-3) ... 509s Processing triggers for libc-bin (2.40-1ubuntu3) ... 512s autopkgtest [10:03:36]: rebooting testbed after setup commands that affected boot 614s Reading package lists... 614s Building dependency tree... 614s Reading state information... 615s Starting pkgProblemResolver with broken count: 0 615s Starting 2 pkgProblemResolver with broken count: 0 615s Done 616s The following additional packages will be installed: 616s 7zip datalad git git-annex git-man liberror-perl patool python3-annexremote 616s python3-argcomplete python3-boto3 python3-botocore python3-datalad 616s python3-datalad-next python3-dateutil python3-fasteners python3-gitlab 616s python3-humanize python3-importlib-metadata python3-iso8601 616s python3-jaraco.classes python3-jeepney python3-jmespath python3-keyring 616s python3-keyrings.alt python3-monotonic python3-msgpack python3-packaging 616s python3-platformdirs python3-pycryptodome python3-requests-toolbelt 616s python3-s3transfer python3-secretstorage python3-six python3-tqdm 616s Suggested packages: 616s 7zip-standalone 7zip-rar datalad-container git-daemon-run 616s | git-daemon-sysvinit git-doc git-email git-gui gitk gitweb git-cvs 616s git-mediawiki git-svn xdot bup adb tor magic-wormhole tahoe-lafs libnss-mdns 616s uftp yt-dlp arj cabextract | lcab ncompress lzop rar | unrar | zip | unzip 616s rpm2cpio unace | unace-nonfree | nomarch unalz lrzip lhasa xdms lzip | plzip 616s | clzip | pdlzip sharutils flac libarchive-tools archmage genisoimage 616s python3-duecredit python3-bs4 python3-numpy python-gitlab-doc 616s gir1.2-secret-1 gnome-keyring libkf5wallet-bin python3-shtab gnome-keyring 616s | libkf5wallet-bin | keepassxc python-secretstorage-doc 616s Recommended packages: 616s git-remote-gcrypt nocache aria2 python3-html5lib python3-httpretty 616s python3-lzma python3-pytest python3-pyperclip python3-requests-ftp 616s python3-vcr 616s The following NEW packages will be installed: 616s 7zip autopkgtest-satdep datalad git git-annex git-man liberror-perl patool 616s python3-annexremote python3-argcomplete python3-boto3 python3-botocore 616s python3-datalad python3-datalad-next python3-dateutil python3-fasteners 616s python3-gitlab python3-humanize python3-importlib-metadata python3-iso8601 616s python3-jaraco.classes python3-jeepney python3-jmespath python3-keyring 616s python3-keyrings.alt python3-monotonic python3-msgpack python3-packaging 616s python3-platformdirs python3-pycryptodome python3-requests-toolbelt 616s python3-s3transfer python3-secretstorage python3-six python3-tqdm 616s 0 upgraded, 35 newly installed, 0 to remove and 0 not upgraded. 616s Need to get 41.1 MB/41.1 MB of archives. 616s After this operation, 278 MB of additional disk space will be used. 616s Get:1 /tmp/autopkgtest.WXFAly/3-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [716 B] 616s Get:2 http://ftpmaster.internal/ubuntu plucky/universe armhf 7zip armhf 24.08+dfsg-1 [1426 kB] 616s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf liberror-perl all 0.17029-2 [25.6 kB] 616s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf git-man all 1:2.45.2-1ubuntu1 [1122 kB] 616s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf git armhf 1:2.45.2-1ubuntu1 [4504 kB] 617s Get:6 http://ftpmaster.internal/ubuntu plucky/universe armhf git-annex armhf 10.20240927-1 [24.1 MB] 618s Get:7 http://ftpmaster.internal/ubuntu plucky/universe armhf patool all 2.0.0-2 [35.3 kB] 618s Get:8 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-annexremote all 1.6.4-2 [14.5 kB] 618s Get:9 http://ftpmaster.internal/ubuntu plucky/main armhf python3-six all 1.16.0-7 [13.1 kB] 618s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dateutil all 2.9.0-2 [80.3 kB] 618s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf python3-jmespath all 1.0.1-1 [21.3 kB] 618s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf python3-botocore all 1.34.46+repack-1ubuntu1 [6211 kB] 618s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf python3-s3transfer all 0.10.1-1ubuntu2 [54.3 kB] 618s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf python3-boto3 all 1.34.46+dfsg-1ubuntu1 [72.5 kB] 618s Get:15 http://ftpmaster.internal/ubuntu plucky/main armhf python3-monotonic all 1.6-2 [5732 B] 618s Get:16 http://ftpmaster.internal/ubuntu plucky/main armhf python3-fasteners all 0.18-2 [12.5 kB] 618s Get:17 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-requests-toolbelt all 1.0.0-3 [36.9 kB] 618s Get:18 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-gitlab all 1:4.3.0-1 [73.0 kB] 618s Get:19 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-humanize all 4.11.0-1 [58.0 kB] 618s Get:20 http://ftpmaster.internal/ubuntu plucky/main armhf python3-importlib-metadata all 8.5.0-1 [20.7 kB] 618s Get:21 http://ftpmaster.internal/ubuntu plucky/main armhf python3-iso8601 all 2.1.0-2 [9136 B] 618s Get:22 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-jeepney all 0.8.0-4 [33.1 kB] 618s Get:23 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-secretstorage all 3.3.3-3 [13.7 kB] 618s Get:24 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-jaraco.classes all 3.4.0-1 [7664 B] 618s Get:25 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-keyring all 25.4.1-1 [40.5 kB] 618s Get:26 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pycryptodome armhf 3.20.0+dfsg-3 [1088 kB] 618s Get:27 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-keyrings.alt all 5.0.2-1 [16.6 kB] 618s Get:28 http://ftpmaster.internal/ubuntu plucky/main armhf python3-msgpack armhf 1.0.3-3build2 [76.1 kB] 618s Get:29 http://ftpmaster.internal/ubuntu plucky/main armhf python3-platformdirs all 4.3.6-1 [16.8 kB] 618s Get:30 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-tqdm all 4.67.0-1 [91.6 kB] 618s Get:31 http://ftpmaster.internal/ubuntu plucky/main armhf python3-packaging all 24.1-1 [41.4 kB] 618s Get:32 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-datalad all 1.1.3-2 [815 kB] 618s Get:33 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-argcomplete all 3.5.1-1 [35.4 kB] 618s Get:34 http://ftpmaster.internal/ubuntu plucky/universe armhf datalad all 1.1.3-2 [101 kB] 618s Get:35 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-datalad-next all 1.4.1-1ubuntu2 [748 kB] 619s Fetched 41.1 MB in 2s (17.7 MB/s) 619s Selecting previously unselected package 7zip. 619s (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 ... 59560 files and directories currently installed.) 619s Preparing to unpack .../00-7zip_24.08+dfsg-1_armhf.deb ... 619s Unpacking 7zip (24.08+dfsg-1) ... 619s Selecting previously unselected package liberror-perl. 619s Preparing to unpack .../01-liberror-perl_0.17029-2_all.deb ... 619s Unpacking liberror-perl (0.17029-2) ... 619s Selecting previously unselected package git-man. 619s Preparing to unpack .../02-git-man_1%3a2.45.2-1ubuntu1_all.deb ... 619s Unpacking git-man (1:2.45.2-1ubuntu1) ... 619s Selecting previously unselected package git. 619s Preparing to unpack .../03-git_1%3a2.45.2-1ubuntu1_armhf.deb ... 619s Unpacking git (1:2.45.2-1ubuntu1) ... 619s Selecting previously unselected package git-annex. 619s Preparing to unpack .../04-git-annex_10.20240927-1_armhf.deb ... 619s Unpacking git-annex (10.20240927-1) ... 620s Selecting previously unselected package patool. 620s Preparing to unpack .../05-patool_2.0.0-2_all.deb ... 620s Unpacking patool (2.0.0-2) ... 620s Selecting previously unselected package python3-annexremote. 620s Preparing to unpack .../06-python3-annexremote_1.6.4-2_all.deb ... 620s Unpacking python3-annexremote (1.6.4-2) ... 620s Selecting previously unselected package python3-six. 620s Preparing to unpack .../07-python3-six_1.16.0-7_all.deb ... 620s Unpacking python3-six (1.16.0-7) ... 620s Selecting previously unselected package python3-dateutil. 620s Preparing to unpack .../08-python3-dateutil_2.9.0-2_all.deb ... 620s Unpacking python3-dateutil (2.9.0-2) ... 620s Selecting previously unselected package python3-jmespath. 620s Preparing to unpack .../09-python3-jmespath_1.0.1-1_all.deb ... 620s Unpacking python3-jmespath (1.0.1-1) ... 620s Selecting previously unselected package python3-botocore. 620s Preparing to unpack .../10-python3-botocore_1.34.46+repack-1ubuntu1_all.deb ... 620s Unpacking python3-botocore (1.34.46+repack-1ubuntu1) ... 621s Selecting previously unselected package python3-s3transfer. 621s Preparing to unpack .../11-python3-s3transfer_0.10.1-1ubuntu2_all.deb ... 621s Unpacking python3-s3transfer (0.10.1-1ubuntu2) ... 621s Selecting previously unselected package python3-boto3. 621s Preparing to unpack .../12-python3-boto3_1.34.46+dfsg-1ubuntu1_all.deb ... 621s Unpacking python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 621s Selecting previously unselected package python3-monotonic. 621s Preparing to unpack .../13-python3-monotonic_1.6-2_all.deb ... 621s Unpacking python3-monotonic (1.6-2) ... 621s Selecting previously unselected package python3-fasteners. 621s Preparing to unpack .../14-python3-fasteners_0.18-2_all.deb ... 621s Unpacking python3-fasteners (0.18-2) ... 621s Selecting previously unselected package python3-requests-toolbelt. 621s Preparing to unpack .../15-python3-requests-toolbelt_1.0.0-3_all.deb ... 621s Unpacking python3-requests-toolbelt (1.0.0-3) ... 621s Selecting previously unselected package python3-gitlab. 621s Preparing to unpack .../16-python3-gitlab_1%3a4.3.0-1_all.deb ... 621s Unpacking python3-gitlab (1:4.3.0-1) ... 621s Selecting previously unselected package python3-humanize. 621s Preparing to unpack .../17-python3-humanize_4.11.0-1_all.deb ... 621s Unpacking python3-humanize (4.11.0-1) ... 621s Selecting previously unselected package python3-importlib-metadata. 621s Preparing to unpack .../18-python3-importlib-metadata_8.5.0-1_all.deb ... 621s Unpacking python3-importlib-metadata (8.5.0-1) ... 621s Selecting previously unselected package python3-iso8601. 622s Preparing to unpack .../19-python3-iso8601_2.1.0-2_all.deb ... 622s Unpacking python3-iso8601 (2.1.0-2) ... 622s Selecting previously unselected package python3-jeepney. 622s Preparing to unpack .../20-python3-jeepney_0.8.0-4_all.deb ... 622s Unpacking python3-jeepney (0.8.0-4) ... 622s Selecting previously unselected package python3-secretstorage. 622s Preparing to unpack .../21-python3-secretstorage_3.3.3-3_all.deb ... 622s Unpacking python3-secretstorage (3.3.3-3) ... 622s Selecting previously unselected package python3-jaraco.classes. 622s Preparing to unpack .../22-python3-jaraco.classes_3.4.0-1_all.deb ... 622s Unpacking python3-jaraco.classes (3.4.0-1) ... 622s Selecting previously unselected package python3-keyring. 622s Preparing to unpack .../23-python3-keyring_25.4.1-1_all.deb ... 622s Unpacking python3-keyring (25.4.1-1) ... 622s Selecting previously unselected package python3-pycryptodome. 622s Preparing to unpack .../24-python3-pycryptodome_3.20.0+dfsg-3_armhf.deb ... 622s Unpacking python3-pycryptodome (3.20.0+dfsg-3) ... 622s Selecting previously unselected package python3-keyrings.alt. 622s Preparing to unpack .../25-python3-keyrings.alt_5.0.2-1_all.deb ... 622s Unpacking python3-keyrings.alt (5.0.2-1) ... 622s Selecting previously unselected package python3-msgpack. 622s Preparing to unpack .../26-python3-msgpack_1.0.3-3build2_armhf.deb ... 622s Unpacking python3-msgpack (1.0.3-3build2) ... 622s Selecting previously unselected package python3-platformdirs. 622s Preparing to unpack .../27-python3-platformdirs_4.3.6-1_all.deb ... 622s Unpacking python3-platformdirs (4.3.6-1) ... 622s Selecting previously unselected package python3-tqdm. 622s Preparing to unpack .../28-python3-tqdm_4.67.0-1_all.deb ... 622s Unpacking python3-tqdm (4.67.0-1) ... 622s Selecting previously unselected package python3-packaging. 622s Preparing to unpack .../29-python3-packaging_24.1-1_all.deb ... 622s Unpacking python3-packaging (24.1-1) ... 622s Selecting previously unselected package python3-datalad. 622s Preparing to unpack .../30-python3-datalad_1.1.3-2_all.deb ... 622s Unpacking python3-datalad (1.1.3-2) ... 622s Selecting previously unselected package python3-argcomplete. 622s Preparing to unpack .../31-python3-argcomplete_3.5.1-1_all.deb ... 622s Unpacking python3-argcomplete (3.5.1-1) ... 622s Selecting previously unselected package datalad. 622s Preparing to unpack .../32-datalad_1.1.3-2_all.deb ... 622s Unpacking datalad (1.1.3-2) ... 622s Selecting previously unselected package python3-datalad-next. 622s Preparing to unpack .../33-python3-datalad-next_1.4.1-1ubuntu2_all.deb ... 622s Unpacking python3-datalad-next (1.4.1-1ubuntu2) ... 622s Selecting previously unselected package autopkgtest-satdep. 622s Preparing to unpack .../34-3-autopkgtest-satdep.deb ... 622s Unpacking autopkgtest-satdep (0) ... 622s Setting up python3-jaraco.classes (3.4.0-1) ... 623s Setting up patool (2.0.0-2) ... 623s Setting up python3-requests-toolbelt (1.0.0-3) ... 623s Setting up python3-annexremote (1.6.4-2) ... 623s Setting up python3-importlib-metadata (8.5.0-1) ... 623s Setting up python3-pycryptodome (3.20.0+dfsg-3) ... 624s Setting up python3-tqdm (4.67.0-1) ... 624s Setting up 7zip (24.08+dfsg-1) ... 624s Setting up python3-platformdirs (4.3.6-1) ... 624s Setting up python3-monotonic (1.6-2) ... 624s Setting up liberror-perl (0.17029-2) ... 624s Setting up python3-six (1.16.0-7) ... 624s Setting up python3-packaging (24.1-1) ... 625s Setting up python3-iso8601 (2.1.0-2) ... 625s Setting up python3-jmespath (1.0.1-1) ... 625s Setting up python3-fasteners (0.18-2) ... 625s Setting up python3-jeepney (0.8.0-4) ... 625s Setting up git-man (1:2.45.2-1ubuntu1) ... 625s Setting up python3-dateutil (2.9.0-2) ... 625s Setting up python3-msgpack (1.0.3-3build2) ... 625s Setting up python3-argcomplete (3.5.1-1) ... 626s Setting up python3-humanize (4.11.0-1) ... 626s Setting up python3-gitlab (1:4.3.0-1) ... 626s Setting up python3-secretstorage (3.3.3-3) ... 626s Setting up python3-botocore (1.34.46+repack-1ubuntu1) ... 627s Setting up git (1:2.45.2-1ubuntu1) ... 627s Setting up git-annex (10.20240927-1) ... 627s Setting up python3-keyring (25.4.1-1) ... 627s Setting up python3-s3transfer (0.10.1-1ubuntu2) ... 627s Setting up python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 627s Setting up python3-keyrings.alt (5.0.2-1) ... 627s Setting up python3-datalad (1.1.3-2) ... 628s Setting up datalad (1.1.3-2) ... 628s Setting up python3-datalad-next (1.4.1-1ubuntu2) ... 629s Setting up autopkgtest-satdep (0) ... 629s Processing triggers for man-db (2.12.1-3) ... 644s (Reading database ... 66787 files and directories currently installed.) 644s Removing autopkgtest-satdep (0) ... 656s autopkgtest [10:06:00]: test extension-registered: set -e ; export GIT_AUTHOR_NAME=debian; export GIT_AUTHOR_EMAIL=debian@datalad.org; test "$(datalad -f '{infos[extensions][next][module]}' wtf -S extensions)" = "datalad_next" 656s autopkgtest [10:06:00]: test extension-registered: [----------------------- 660s autopkgtest [10:06:04]: test extension-registered: -----------------------] 664s autopkgtest [10:06:08]: test extension-registered: - - - - - - - - - - results - - - - - - - - - - 664s extension-registered PASS (superficial) 668s autopkgtest [10:06:12]: test nonetwork-testsuite: preparing testbed 678s Reading package lists... 679s Building dependency tree... 679s Reading state information... 679s Starting pkgProblemResolver with broken count: 0 679s Starting 2 pkgProblemResolver with broken count: 0 679s Done 680s The following additional packages will be installed: 680s autoconf automake autopoint autotools-dev build-essential cpp cpp-14 680s cpp-14-arm-linux-gnueabihf cpp-arm-linux-gnueabihf debhelper debugedit 680s dh-autoreconf dh-python dh-strip-nondeterminism docutils-common dwz 680s fonts-font-awesome fonts-lato g++ g++-14 g++-14-arm-linux-gnueabihf 680s g++-arm-linux-gnueabihf gcc gcc-14 gcc-14-arm-linux-gnueabihf 680s gcc-arm-linux-gnueabihf gettext intltool-debian libarchive-zip-perl libasan8 680s libc-dev-bin libc6-dev libcc1-0 libcrypt-dev libdebhelper-perl 680s libfile-stripnondeterminism-perl libgcc-14-dev libgomp1 libisl23 680s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libmpc3 680s libstdc++-14-dev libtool libubsan1 libxslt1.1 linux-libc-dev m4 po-debconf 680s python3-alabaster python3-all python3-defusedxml python3-docutils 680s python3-imagesize python3-iniconfig python3-lxml python3-pluggy 680s python3-psutil python3-pytest python3-roman python3-snowballstemmer 680s python3-sphinx python3-sphinx-rtd-theme python3-sphinxcontrib.jquery 680s python3-webdavclient rpcsvc-proto sgml-base sphinx-common 680s sphinx-rtd-theme-common unzip xml-core 680s Suggested packages: 680s autoconf-archive gnu-standards autoconf-doc cpp-doc gcc-14-locales 680s cpp-14-doc dh-make flit python3-build python3-installer python3-wheel 680s gcc-14-doc gcc-multilib manpages-dev flex bison gdb gcc-doc 680s gdb-arm-linux-gnueabihf gettext-doc libasprintf-dev libgettextpo-dev 680s libc-devtools glibc-doc libstdc++-14-doc libtool-doc gfortran 680s | fortran95-compiler gcj-jdk m4-doc libmail-box-perl docutils-doc 680s fonts-linuxlibertine | ttf-linux-libertine texlive-lang-french 680s texlive-latex-base texlive-latex-recommended python-lxml-doc python3-stemmer 680s dvipng dvisvgm fonts-freefont-otf imagemagick-6.q16 latexmk libjs-mathjax 680s sphinx-doc tex-gyre texlive-fonts-extra texlive-fonts-recommended 680s texlive-latex-extra texlive-plain-generic sgml-base-doc zip 680s Recommended packages: 680s manpages manpages-dev libarchive-cpio-perl javascript-common libjson-xs-perl 680s libltdl-dev libmail-sendmail-perl libpaper-utils python3-pil python3-bs4 680s python3-cssselect python3-html5lib 680s The following NEW packages will be installed: 680s autoconf automake autopkgtest-satdep autopoint autotools-dev build-essential 680s cpp cpp-14 cpp-14-arm-linux-gnueabihf cpp-arm-linux-gnueabihf debhelper 680s debugedit dh-autoreconf dh-python dh-strip-nondeterminism docutils-common 680s dwz fonts-font-awesome fonts-lato g++ g++-14 g++-14-arm-linux-gnueabihf 680s g++-arm-linux-gnueabihf gcc gcc-14 gcc-14-arm-linux-gnueabihf 680s gcc-arm-linux-gnueabihf gettext intltool-debian libarchive-zip-perl libasan8 680s libc-dev-bin libc6-dev libcc1-0 libcrypt-dev libdebhelper-perl 680s libfile-stripnondeterminism-perl libgcc-14-dev libgomp1 libisl23 680s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libmpc3 680s libstdc++-14-dev libtool libubsan1 libxslt1.1 linux-libc-dev m4 po-debconf 680s python3-alabaster python3-all python3-defusedxml python3-docutils 680s python3-imagesize python3-iniconfig python3-lxml python3-pluggy 680s python3-psutil python3-pytest python3-roman python3-snowballstemmer 680s python3-sphinx python3-sphinx-rtd-theme python3-sphinxcontrib.jquery 680s python3-webdavclient rpcsvc-proto sgml-base sphinx-common 680s sphinx-rtd-theme-common unzip xml-core 680s 0 upgraded, 74 newly installed, 0 to remove and 0 not upgraded. 680s Need to get 63.5 MB/63.5 MB of archives. 680s After this operation, 191 MB of additional disk space will be used. 680s Get:1 /tmp/autopkgtest.WXFAly/4-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [896 B] 680s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-lato all 2.015-1 [2781 kB] 681s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf sgml-base all 1.31 [11.4 kB] 681s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf m4 armhf 1.4.19-4build1 [235 kB] 681s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf autoconf all 2.72-3 [382 kB] 681s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf autotools-dev all 20220109.1 [44.9 kB] 681s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf automake all 1:1.16.5-1.3ubuntu1 [558 kB] 681s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf autopoint all 0.22.5-2 [616 kB] 681s Get:9 http://ftpmaster.internal/ubuntu plucky/main armhf libc-dev-bin armhf 2.40-1ubuntu3 [19.2 kB] 681s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf linux-libc-dev armhf 6.11.0-8.8 [1628 kB] 681s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf libcrypt-dev armhf 1:4.4.36-4build1 [120 kB] 681s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf rpcsvc-proto armhf 1.4.2-0ubuntu7 [62.2 kB] 681s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf libc6-dev armhf 2.40-1ubuntu3 [1370 kB] 681s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf libisl23 armhf 0.27-1 [546 kB] 681s Get:15 http://ftpmaster.internal/ubuntu plucky/main armhf libmpc3 armhf 1.3.1-1build2 [47.1 kB] 681s Get:16 http://ftpmaster.internal/ubuntu plucky/main armhf cpp-14-arm-linux-gnueabihf armhf 14.2.0-8ubuntu1 [9219 kB] 681s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf cpp-14 armhf 14.2.0-8ubuntu1 [1032 B] 681s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf cpp-arm-linux-gnueabihf armhf 4:14.1.0-2ubuntu1 [5464 B] 681s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf cpp armhf 4:14.1.0-2ubuntu1 [22.4 kB] 681s Get:20 http://ftpmaster.internal/ubuntu plucky/main armhf libcc1-0 armhf 14.2.0-8ubuntu1 [43.3 kB] 681s Get:21 http://ftpmaster.internal/ubuntu plucky/main armhf libgomp1 armhf 14.2.0-8ubuntu1 [125 kB] 681s Get:22 http://ftpmaster.internal/ubuntu plucky/main armhf libasan8 armhf 14.2.0-8ubuntu1 [2901 kB] 682s Get:23 http://ftpmaster.internal/ubuntu plucky/main armhf libubsan1 armhf 14.2.0-8ubuntu1 [1150 kB] 682s Get:24 http://ftpmaster.internal/ubuntu plucky/main armhf libgcc-14-dev armhf 14.2.0-8ubuntu1 [897 kB] 682s Get:25 http://ftpmaster.internal/ubuntu plucky/main armhf gcc-14-arm-linux-gnueabihf armhf 14.2.0-8ubuntu1 [18.0 MB] 682s Get:26 http://ftpmaster.internal/ubuntu plucky/main armhf gcc-14 armhf 14.2.0-8ubuntu1 [498 kB] 682s Get:27 http://ftpmaster.internal/ubuntu plucky/main armhf gcc-arm-linux-gnueabihf armhf 4:14.1.0-2ubuntu1 [1222 B] 682s Get:28 http://ftpmaster.internal/ubuntu plucky/main armhf gcc armhf 4:14.1.0-2ubuntu1 [5002 B] 682s Get:29 http://ftpmaster.internal/ubuntu plucky/main armhf libstdc++-14-dev armhf 14.2.0-8ubuntu1 [2569 kB] 682s Get:30 http://ftpmaster.internal/ubuntu plucky/main armhf g++-14-arm-linux-gnueabihf armhf 14.2.0-8ubuntu1 [10.5 MB] 683s Get:31 http://ftpmaster.internal/ubuntu plucky/main armhf g++-14 armhf 14.2.0-8ubuntu1 [19.9 kB] 683s Get:32 http://ftpmaster.internal/ubuntu plucky/main armhf g++-arm-linux-gnueabihf armhf 4:14.1.0-2ubuntu1 [968 B] 683s Get:33 http://ftpmaster.internal/ubuntu plucky/main armhf g++ armhf 4:14.1.0-2ubuntu1 [1084 B] 683s Get:34 http://ftpmaster.internal/ubuntu plucky/main armhf build-essential armhf 12.10ubuntu1 [4928 B] 683s Get:35 http://ftpmaster.internal/ubuntu plucky/main armhf libdebhelper-perl all 13.20ubuntu1 [94.2 kB] 683s Get:36 http://ftpmaster.internal/ubuntu plucky/main armhf libtool all 2.4.7-7build1 [166 kB] 683s Get:37 http://ftpmaster.internal/ubuntu plucky/main armhf dh-autoreconf all 20 [16.1 kB] 683s Get:38 http://ftpmaster.internal/ubuntu plucky/main armhf libarchive-zip-perl all 1.68-1 [90.2 kB] 683s Get:39 http://ftpmaster.internal/ubuntu plucky/main armhf libfile-stripnondeterminism-perl all 1.14.0-1 [20.1 kB] 683s Get:40 http://ftpmaster.internal/ubuntu plucky/main armhf dh-strip-nondeterminism all 1.14.0-1 [5058 B] 683s Get:41 http://ftpmaster.internal/ubuntu plucky/main armhf debugedit armhf 1:5.1-1 [46.5 kB] 683s Get:42 http://ftpmaster.internal/ubuntu plucky/main armhf dwz armhf 0.15-1build6 [116 kB] 683s Get:43 http://ftpmaster.internal/ubuntu plucky/main armhf gettext armhf 0.22.5-2 [995 kB] 683s Get:44 http://ftpmaster.internal/ubuntu plucky/main armhf intltool-debian all 0.35.0+20060710.6 [23.2 kB] 683s Get:45 http://ftpmaster.internal/ubuntu plucky/main armhf po-debconf all 1.0.21+nmu1 [233 kB] 683s Get:46 http://ftpmaster.internal/ubuntu plucky/main armhf debhelper all 13.20ubuntu1 [893 kB] 683s Get:47 http://ftpmaster.internal/ubuntu plucky/universe armhf dh-python all 6.20241024 [112 kB] 683s Get:48 http://ftpmaster.internal/ubuntu plucky/main armhf xml-core all 0.19 [20.3 kB] 683s Get:49 http://ftpmaster.internal/ubuntu plucky/main armhf docutils-common all 0.21.2+dfsg-2 [131 kB] 683s Get:50 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 683s Get:51 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 683s Get:52 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 683s Get:53 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-sphinxdoc all 7.4.7-4 [158 kB] 683s Get:54 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-perl all 4.10000-1 [81.9 kB] 683s Get:55 http://ftpmaster.internal/ubuntu plucky/main armhf libxslt1.1 armhf 1.1.39-0exp1ubuntu1 [150 kB] 683s Get:56 http://ftpmaster.internal/ubuntu plucky/main armhf python3-all armhf 3.12.6-0ubuntu1 [886 B] 683s Get:57 http://ftpmaster.internal/ubuntu plucky/main armhf python3-defusedxml all 0.7.1-2 [42.0 kB] 683s Get:58 http://ftpmaster.internal/ubuntu plucky/main armhf python3-roman all 4.2-1 [10.0 kB] 683s Get:59 http://ftpmaster.internal/ubuntu plucky/main armhf python3-docutils all 0.21.2+dfsg-2 [409 kB] 683s Get:60 http://ftpmaster.internal/ubuntu plucky/main armhf python3-imagesize all 1.4.1-1 [6844 B] 683s Get:61 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-iniconfig all 1.1.1-2 [6024 B] 683s Get:62 http://ftpmaster.internal/ubuntu plucky/main armhf python3-lxml armhf 5.3.0-1 [1234 kB] 683s Get:63 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pluggy all 1.5.0-1 [21.0 kB] 683s Get:64 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf python3-psutil armhf 5.9.8-2build3 [194 kB] 683s Get:65 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pytest all 8.3.3-1 [251 kB] 683s Get:66 http://ftpmaster.internal/ubuntu plucky/main armhf python3-snowballstemmer all 2.2.0-4build1 [59.8 kB] 683s Get:67 http://ftpmaster.internal/ubuntu plucky/main armhf sphinx-common all 7.4.7-4 [775 kB] 683s Get:68 http://ftpmaster.internal/ubuntu plucky/main armhf python3-alabaster all 0.7.16-0.1 [18.5 kB] 683s Get:69 http://ftpmaster.internal/ubuntu plucky/main armhf python3-sphinx all 7.4.7-4 [593 kB] 683s Get:70 http://ftpmaster.internal/ubuntu plucky/main armhf sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 683s Get:71 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-sphinxcontrib.jquery all 4.1-5 [6678 B] 683s Get:72 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-sphinx-rtd-theme all 3.0.1+dfsg-1 [23.5 kB] 683s Get:73 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-webdavclient all 3.14.6-2 [19.9 kB] 683s Get:74 http://ftpmaster.internal/ubuntu plucky/main armhf unzip armhf 6.0-28ubuntu6 [167 kB] 684s Fetched 63.5 MB in 3s (19.2 MB/s) 684s Selecting previously unselected package fonts-lato. 684s (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 ... 66787 files and directories currently installed.) 684s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 684s Unpacking fonts-lato (2.015-1) ... 684s Selecting previously unselected package sgml-base. 684s Preparing to unpack .../01-sgml-base_1.31_all.deb ... 684s Unpacking sgml-base (1.31) ... 684s Selecting previously unselected package m4. 684s Preparing to unpack .../02-m4_1.4.19-4build1_armhf.deb ... 684s Unpacking m4 (1.4.19-4build1) ... 684s Selecting previously unselected package autoconf. 684s Preparing to unpack .../03-autoconf_2.72-3_all.deb ... 684s Unpacking autoconf (2.72-3) ... 684s Selecting previously unselected package autotools-dev. 684s Preparing to unpack .../04-autotools-dev_20220109.1_all.deb ... 684s Unpacking autotools-dev (20220109.1) ... 684s Selecting previously unselected package automake. 684s Preparing to unpack .../05-automake_1%3a1.16.5-1.3ubuntu1_all.deb ... 684s Unpacking automake (1:1.16.5-1.3ubuntu1) ... 684s Selecting previously unselected package autopoint. 684s Preparing to unpack .../06-autopoint_0.22.5-2_all.deb ... 684s Unpacking autopoint (0.22.5-2) ... 684s Selecting previously unselected package libc-dev-bin. 684s Preparing to unpack .../07-libc-dev-bin_2.40-1ubuntu3_armhf.deb ... 684s Unpacking libc-dev-bin (2.40-1ubuntu3) ... 684s Selecting previously unselected package linux-libc-dev:armhf. 684s Preparing to unpack .../08-linux-libc-dev_6.11.0-8.8_armhf.deb ... 684s Unpacking linux-libc-dev:armhf (6.11.0-8.8) ... 685s Selecting previously unselected package libcrypt-dev:armhf. 685s Preparing to unpack .../09-libcrypt-dev_1%3a4.4.36-4build1_armhf.deb ... 685s Unpacking libcrypt-dev:armhf (1:4.4.36-4build1) ... 685s Selecting previously unselected package rpcsvc-proto. 685s Preparing to unpack .../10-rpcsvc-proto_1.4.2-0ubuntu7_armhf.deb ... 685s Unpacking rpcsvc-proto (1.4.2-0ubuntu7) ... 685s Selecting previously unselected package libc6-dev:armhf. 685s Preparing to unpack .../11-libc6-dev_2.40-1ubuntu3_armhf.deb ... 685s Unpacking libc6-dev:armhf (2.40-1ubuntu3) ... 685s Selecting previously unselected package libisl23:armhf. 685s Preparing to unpack .../12-libisl23_0.27-1_armhf.deb ... 685s Unpacking libisl23:armhf (0.27-1) ... 685s Selecting previously unselected package libmpc3:armhf. 685s Preparing to unpack .../13-libmpc3_1.3.1-1build2_armhf.deb ... 685s Unpacking libmpc3:armhf (1.3.1-1build2) ... 685s Selecting previously unselected package cpp-14-arm-linux-gnueabihf. 685s Preparing to unpack .../14-cpp-14-arm-linux-gnueabihf_14.2.0-8ubuntu1_armhf.deb ... 685s Unpacking cpp-14-arm-linux-gnueabihf (14.2.0-8ubuntu1) ... 685s Selecting previously unselected package cpp-14. 685s Preparing to unpack .../15-cpp-14_14.2.0-8ubuntu1_armhf.deb ... 685s Unpacking cpp-14 (14.2.0-8ubuntu1) ... 685s Selecting previously unselected package cpp-arm-linux-gnueabihf. 685s Preparing to unpack .../16-cpp-arm-linux-gnueabihf_4%3a14.1.0-2ubuntu1_armhf.deb ... 685s Unpacking cpp-arm-linux-gnueabihf (4:14.1.0-2ubuntu1) ... 685s Selecting previously unselected package cpp. 685s Preparing to unpack .../17-cpp_4%3a14.1.0-2ubuntu1_armhf.deb ... 685s Unpacking cpp (4:14.1.0-2ubuntu1) ... 685s Selecting previously unselected package libcc1-0:armhf. 685s Preparing to unpack .../18-libcc1-0_14.2.0-8ubuntu1_armhf.deb ... 685s Unpacking libcc1-0:armhf (14.2.0-8ubuntu1) ... 685s Selecting previously unselected package libgomp1:armhf. 685s Preparing to unpack .../19-libgomp1_14.2.0-8ubuntu1_armhf.deb ... 685s Unpacking libgomp1:armhf (14.2.0-8ubuntu1) ... 685s Selecting previously unselected package libasan8:armhf. 685s Preparing to unpack .../20-libasan8_14.2.0-8ubuntu1_armhf.deb ... 685s Unpacking libasan8:armhf (14.2.0-8ubuntu1) ... 685s Selecting previously unselected package libubsan1:armhf. 685s Preparing to unpack .../21-libubsan1_14.2.0-8ubuntu1_armhf.deb ... 685s Unpacking libubsan1:armhf (14.2.0-8ubuntu1) ... 685s Selecting previously unselected package libgcc-14-dev:armhf. 685s Preparing to unpack .../22-libgcc-14-dev_14.2.0-8ubuntu1_armhf.deb ... 685s Unpacking libgcc-14-dev:armhf (14.2.0-8ubuntu1) ... 686s Selecting previously unselected package gcc-14-arm-linux-gnueabihf. 686s Preparing to unpack .../23-gcc-14-arm-linux-gnueabihf_14.2.0-8ubuntu1_armhf.deb ... 686s Unpacking gcc-14-arm-linux-gnueabihf (14.2.0-8ubuntu1) ... 686s Selecting previously unselected package gcc-14. 686s Preparing to unpack .../24-gcc-14_14.2.0-8ubuntu1_armhf.deb ... 686s Unpacking gcc-14 (14.2.0-8ubuntu1) ... 686s Selecting previously unselected package gcc-arm-linux-gnueabihf. 686s Preparing to unpack .../25-gcc-arm-linux-gnueabihf_4%3a14.1.0-2ubuntu1_armhf.deb ... 686s Unpacking gcc-arm-linux-gnueabihf (4:14.1.0-2ubuntu1) ... 686s Selecting previously unselected package gcc. 686s Preparing to unpack .../26-gcc_4%3a14.1.0-2ubuntu1_armhf.deb ... 686s Unpacking gcc (4:14.1.0-2ubuntu1) ... 686s Selecting previously unselected package libstdc++-14-dev:armhf. 686s Preparing to unpack .../27-libstdc++-14-dev_14.2.0-8ubuntu1_armhf.deb ... 686s Unpacking libstdc++-14-dev:armhf (14.2.0-8ubuntu1) ... 686s Selecting previously unselected package g++-14-arm-linux-gnueabihf. 686s Preparing to unpack .../28-g++-14-arm-linux-gnueabihf_14.2.0-8ubuntu1_armhf.deb ... 686s Unpacking g++-14-arm-linux-gnueabihf (14.2.0-8ubuntu1) ... 686s Selecting previously unselected package g++-14. 686s Preparing to unpack .../29-g++-14_14.2.0-8ubuntu1_armhf.deb ... 686s Unpacking g++-14 (14.2.0-8ubuntu1) ... 686s Selecting previously unselected package g++-arm-linux-gnueabihf. 687s Preparing to unpack .../30-g++-arm-linux-gnueabihf_4%3a14.1.0-2ubuntu1_armhf.deb ... 687s Unpacking g++-arm-linux-gnueabihf (4:14.1.0-2ubuntu1) ... 687s Selecting previously unselected package g++. 687s Preparing to unpack .../31-g++_4%3a14.1.0-2ubuntu1_armhf.deb ... 687s Unpacking g++ (4:14.1.0-2ubuntu1) ... 687s Selecting previously unselected package build-essential. 687s Preparing to unpack .../32-build-essential_12.10ubuntu1_armhf.deb ... 687s Unpacking build-essential (12.10ubuntu1) ... 687s Selecting previously unselected package libdebhelper-perl. 687s Preparing to unpack .../33-libdebhelper-perl_13.20ubuntu1_all.deb ... 687s Unpacking libdebhelper-perl (13.20ubuntu1) ... 687s Selecting previously unselected package libtool. 687s Preparing to unpack .../34-libtool_2.4.7-7build1_all.deb ... 687s Unpacking libtool (2.4.7-7build1) ... 687s Selecting previously unselected package dh-autoreconf. 687s Preparing to unpack .../35-dh-autoreconf_20_all.deb ... 687s Unpacking dh-autoreconf (20) ... 687s Selecting previously unselected package libarchive-zip-perl. 687s Preparing to unpack .../36-libarchive-zip-perl_1.68-1_all.deb ... 687s Unpacking libarchive-zip-perl (1.68-1) ... 687s Selecting previously unselected package libfile-stripnondeterminism-perl. 687s Preparing to unpack .../37-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ... 687s Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... 687s Selecting previously unselected package dh-strip-nondeterminism. 687s Preparing to unpack .../38-dh-strip-nondeterminism_1.14.0-1_all.deb ... 687s Unpacking dh-strip-nondeterminism (1.14.0-1) ... 687s Selecting previously unselected package debugedit. 687s Preparing to unpack .../39-debugedit_1%3a5.1-1_armhf.deb ... 687s Unpacking debugedit (1:5.1-1) ... 687s Selecting previously unselected package dwz. 687s Preparing to unpack .../40-dwz_0.15-1build6_armhf.deb ... 687s Unpacking dwz (0.15-1build6) ... 687s Selecting previously unselected package gettext. 687s Preparing to unpack .../41-gettext_0.22.5-2_armhf.deb ... 687s Unpacking gettext (0.22.5-2) ... 687s Selecting previously unselected package intltool-debian. 687s Preparing to unpack .../42-intltool-debian_0.35.0+20060710.6_all.deb ... 687s Unpacking intltool-debian (0.35.0+20060710.6) ... 687s Selecting previously unselected package po-debconf. 687s Preparing to unpack .../43-po-debconf_1.0.21+nmu1_all.deb ... 687s Unpacking po-debconf (1.0.21+nmu1) ... 687s Selecting previously unselected package debhelper. 687s Preparing to unpack .../44-debhelper_13.20ubuntu1_all.deb ... 687s Unpacking debhelper (13.20ubuntu1) ... 687s Selecting previously unselected package dh-python. 687s Preparing to unpack .../45-dh-python_6.20241024_all.deb ... 687s Unpacking dh-python (6.20241024) ... 687s Selecting previously unselected package xml-core. 687s Preparing to unpack .../46-xml-core_0.19_all.deb ... 687s Unpacking xml-core (0.19) ... 687s Selecting previously unselected package docutils-common. 687s Preparing to unpack .../47-docutils-common_0.21.2+dfsg-2_all.deb ... 687s Unpacking docutils-common (0.21.2+dfsg-2) ... 687s Selecting previously unselected package fonts-font-awesome. 687s Preparing to unpack .../48-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 687s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 687s Selecting previously unselected package libjs-jquery. 687s Preparing to unpack .../49-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 687s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 687s Selecting previously unselected package libjs-underscore. 687s Preparing to unpack .../50-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 687s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 687s Selecting previously unselected package libjs-sphinxdoc. 687s Preparing to unpack .../51-libjs-sphinxdoc_7.4.7-4_all.deb ... 687s Unpacking libjs-sphinxdoc (7.4.7-4) ... 687s Selecting previously unselected package libjson-perl. 687s Preparing to unpack .../52-libjson-perl_4.10000-1_all.deb ... 687s Unpacking libjson-perl (4.10000-1) ... 687s Selecting previously unselected package libxslt1.1:armhf. 687s Preparing to unpack .../53-libxslt1.1_1.1.39-0exp1ubuntu1_armhf.deb ... 687s Unpacking libxslt1.1:armhf (1.1.39-0exp1ubuntu1) ... 688s Selecting previously unselected package python3-all. 688s Preparing to unpack .../54-python3-all_3.12.6-0ubuntu1_armhf.deb ... 688s Unpacking python3-all (3.12.6-0ubuntu1) ... 688s Selecting previously unselected package python3-defusedxml. 688s Preparing to unpack .../55-python3-defusedxml_0.7.1-2_all.deb ... 688s Unpacking python3-defusedxml (0.7.1-2) ... 688s Selecting previously unselected package python3-roman. 688s Preparing to unpack .../56-python3-roman_4.2-1_all.deb ... 688s Unpacking python3-roman (4.2-1) ... 688s Selecting previously unselected package python3-docutils. 688s Preparing to unpack .../57-python3-docutils_0.21.2+dfsg-2_all.deb ... 688s Unpacking python3-docutils (0.21.2+dfsg-2) ... 688s Selecting previously unselected package python3-imagesize. 688s Preparing to unpack .../58-python3-imagesize_1.4.1-1_all.deb ... 688s Unpacking python3-imagesize (1.4.1-1) ... 688s Selecting previously unselected package python3-iniconfig. 688s Preparing to unpack .../59-python3-iniconfig_1.1.1-2_all.deb ... 688s Unpacking python3-iniconfig (1.1.1-2) ... 688s Selecting previously unselected package python3-lxml:armhf. 688s Preparing to unpack .../60-python3-lxml_5.3.0-1_armhf.deb ... 688s Unpacking python3-lxml:armhf (5.3.0-1) ... 688s Selecting previously unselected package python3-pluggy. 688s Preparing to unpack .../61-python3-pluggy_1.5.0-1_all.deb ... 688s Unpacking python3-pluggy (1.5.0-1) ... 688s Selecting previously unselected package python3-psutil. 688s Preparing to unpack .../62-python3-psutil_5.9.8-2build3_armhf.deb ... 688s Unpacking python3-psutil (5.9.8-2build3) ... 688s Selecting previously unselected package python3-pytest. 688s Preparing to unpack .../63-python3-pytest_8.3.3-1_all.deb ... 688s Unpacking python3-pytest (8.3.3-1) ... 688s Selecting previously unselected package python3-snowballstemmer. 688s Preparing to unpack .../64-python3-snowballstemmer_2.2.0-4build1_all.deb ... 688s Unpacking python3-snowballstemmer (2.2.0-4build1) ... 688s Selecting previously unselected package sphinx-common. 688s Preparing to unpack .../65-sphinx-common_7.4.7-4_all.deb ... 688s Unpacking sphinx-common (7.4.7-4) ... 688s Selecting previously unselected package python3-alabaster. 688s Preparing to unpack .../66-python3-alabaster_0.7.16-0.1_all.deb ... 688s Unpacking python3-alabaster (0.7.16-0.1) ... 688s Selecting previously unselected package python3-sphinx. 688s Preparing to unpack .../67-python3-sphinx_7.4.7-4_all.deb ... 688s Unpacking python3-sphinx (7.4.7-4) ... 688s Selecting previously unselected package sphinx-rtd-theme-common. 688s Preparing to unpack .../68-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 688s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 688s Selecting previously unselected package python3-sphinxcontrib.jquery. 688s Preparing to unpack .../69-python3-sphinxcontrib.jquery_4.1-5_all.deb ... 688s Unpacking python3-sphinxcontrib.jquery (4.1-5) ... 688s Selecting previously unselected package python3-sphinx-rtd-theme. 688s Preparing to unpack .../70-python3-sphinx-rtd-theme_3.0.1+dfsg-1_all.deb ... 688s Unpacking python3-sphinx-rtd-theme (3.0.1+dfsg-1) ... 688s Selecting previously unselected package python3-webdavclient. 688s Preparing to unpack .../71-python3-webdavclient_3.14.6-2_all.deb ... 688s Unpacking python3-webdavclient (3.14.6-2) ... 688s Selecting previously unselected package unzip. 688s Preparing to unpack .../72-unzip_6.0-28ubuntu6_armhf.deb ... 688s Unpacking unzip (6.0-28ubuntu6) ... 688s Selecting previously unselected package autopkgtest-satdep. 688s Preparing to unpack .../73-4-autopkgtest-satdep.deb ... 688s Unpacking autopkgtest-satdep (0) ... 688s Setting up dh-python (6.20241024) ... 689s Setting up python3-iniconfig (1.1.1-2) ... 689s Setting up fonts-lato (2.015-1) ... 689s Setting up python3-defusedxml (0.7.1-2) ... 689s Setting up libarchive-zip-perl (1.68-1) ... 689s Setting up python3-alabaster (0.7.16-0.1) ... 689s Setting up unzip (6.0-28ubuntu6) ... 689s Setting up libdebhelper-perl (13.20ubuntu1) ... 689s Setting up linux-libc-dev:armhf (6.11.0-8.8) ... 689s Setting up m4 (1.4.19-4build1) ... 689s Setting up python3-all (3.12.6-0ubuntu1) ... 689s Setting up libgomp1:armhf (14.2.0-8ubuntu1) ... 689s Setting up python3-psutil (5.9.8-2build3) ... 689s Setting up python3-roman (4.2-1) ... 689s Setting up autotools-dev (20220109.1) ... 689s Setting up rpcsvc-proto (1.4.2-0ubuntu7) ... 689s Setting up python3-snowballstemmer (2.2.0-4build1) ... 690s Setting up libmpc3:armhf (1.3.1-1build2) ... 690s Setting up autopoint (0.22.5-2) ... 690s Setting up autoconf (2.72-3) ... 690s Setting up python3-pluggy (1.5.0-1) ... 690s Setting up libubsan1:armhf (14.2.0-8ubuntu1) ... 690s Setting up dwz (0.15-1build6) ... 690s Setting up libcrypt-dev:armhf (1:4.4.36-4build1) ... 690s Setting up libasan8:armhf (14.2.0-8ubuntu1) ... 690s Setting up libjson-perl (4.10000-1) ... 690s Setting up libxslt1.1:armhf (1.1.39-0exp1ubuntu1) ... 690s Setting up debugedit (1:5.1-1) ... 690s Setting up sgml-base (1.31) ... 690s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 690s Setting up libgcc-14-dev:armhf (14.2.0-8ubuntu1) ... 690s Setting up libisl23:armhf (0.27-1) ... 690s Setting up libc-dev-bin (2.40-1ubuntu3) ... 690s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 690s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 690s Setting up libcc1-0:armhf (14.2.0-8ubuntu1) ... 690s Setting up cpp-14-arm-linux-gnueabihf (14.2.0-8ubuntu1) ... 690s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 690s Setting up python3-imagesize (1.4.1-1) ... 690s Setting up automake (1:1.16.5-1.3ubuntu1) ... 690s update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode 690s Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... 690s Setting up gettext (0.22.5-2) ... 690s Setting up python3-pytest (8.3.3-1) ... 690s Setting up gcc-14-arm-linux-gnueabihf (14.2.0-8ubuntu1) ... 690s Setting up intltool-debian (0.35.0+20060710.6) ... 690s Setting up libjs-sphinxdoc (7.4.7-4) ... 690s Setting up cpp-14 (14.2.0-8ubuntu1) ... 690s Setting up dh-strip-nondeterminism (1.14.0-1) ... 690s Setting up python3-lxml:armhf (5.3.0-1) ... 691s Setting up xml-core (0.19) ... 691s Setting up libc6-dev:armhf (2.40-1ubuntu3) ... 691s Setting up libstdc++-14-dev:armhf (14.2.0-8ubuntu1) ... 691s Setting up cpp-arm-linux-gnueabihf (4:14.1.0-2ubuntu1) ... 691s Setting up gcc-arm-linux-gnueabihf (4:14.1.0-2ubuntu1) ... 691s Setting up g++-14-arm-linux-gnueabihf (14.2.0-8ubuntu1) ... 691s Setting up python3-webdavclient (3.14.6-2) ... 691s /usr/lib/python3/dist-packages/webdav3/urn.py:11: SyntaxWarning: invalid escape sequence '\.' 691s expressions = "/\.+/", "/+" 691s Setting up po-debconf (1.0.21+nmu1) ... 691s Setting up gcc-14 (14.2.0-8ubuntu1) ... 691s Setting up sphinx-common (7.4.7-4) ... 691s Setting up cpp (4:14.1.0-2ubuntu1) ... 691s Setting up g++-14 (14.2.0-8ubuntu1) ... 691s Setting up g++-arm-linux-gnueabihf (4:14.1.0-2ubuntu1) ... 691s Setting up libtool (2.4.7-7build1) ... 691s Setting up gcc (4:14.1.0-2ubuntu1) ... 691s Setting up dh-autoreconf (20) ... 691s Setting up g++ (4:14.1.0-2ubuntu1) ... 691s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 691s Setting up build-essential (12.10ubuntu1) ... 691s Setting up debhelper (13.20ubuntu1) ... 691s Processing triggers for libc-bin (2.40-1ubuntu3) ... 691s Processing triggers for man-db (2.12.1-3) ... 692s Processing triggers for install-info (7.1.1-1) ... 692s Processing triggers for sgml-base (1.31) ... 692s Setting up docutils-common (0.21.2+dfsg-2) ... 693s Processing triggers for sgml-base (1.31) ... 693s Setting up python3-docutils (0.21.2+dfsg-2) ... 693s Setting up python3-sphinx (7.4.7-4) ... 694s Setting up python3-sphinxcontrib.jquery (4.1-5) ... 694s Setting up python3-sphinx-rtd-theme (3.0.1+dfsg-1) ... 694s Setting up autopkgtest-satdep (0) ... 708s (Reading database ... 72529 files and directories currently installed.) 708s Removing autopkgtest-satdep (0) ... 714s autopkgtest [10:06:58]: test nonetwork-testsuite: set -e ; export GIT_AUTHOR_NAME=debian; export GIT_AUTHOR_EMAIL=debian@datalad.org; export DATALAD_TESTS_NONETWORK=1; SRCDIR=$(pwd); for py in $(py3versions -r 2>/dev/null) ; do cd "$AUTOPKGTEST_TMP" ; echo "Testing with $py:" ; $py -m pytest -s -v "${SRCDIR}/datalad_next" ; done 714s autopkgtest [10:06:58]: test nonetwork-testsuite: [----------------------- 716s Testing with python3.12: 717s ============================= test session starts ============================== 717s platform linux -- Python 3.12.7, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3.12 717s cachedir: .pytest_cache 717s rootdir: /tmp/autopkgtest.WXFAly/build.vXv/src 717s configfile: pyproject.toml 717s plugins: typeguard-4.4.1 718s collecting ... collected 440 items 718s 718s ../build.vXv/src/datalad_next/annexbackends/tests/test_base.py::test_protocol [INFO] Test fixture starts suppressing INFO level messages 718s PASSED 718s ../build.vXv/src/datalad_next/annexbackends/tests/test_base.py::test_master DEBUG Traceback (most recent call last): 718s DEBUG File "/tmp/autopkgtest.WXFAly/build.vXv/src/datalad_next/annexbackends/base.py", line 307, in Listen 718s DEBUG reply = self.protocol.command(line) 718s DEBUG ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 718s DEBUG File "/tmp/autopkgtest.WXFAly/build.vXv/src/datalad_next/annexbackends/base.py", line 195, in command 718s DEBUG reply = method() 718s DEBUG ^^^^^^^^ 718s DEBUG File "/tmp/autopkgtest.WXFAly/build.vXv/src/datalad_next/annexbackends/base.py", line 210, in do_CANVERIFY 718s DEBUG return 'CANVERIFY-YES' if self.backend.can_verify() else 'CANVERIFY-NO' 718s DEBUG ^^^^^^^^^^^^^^^^^^^^^^^^^ 718s DEBUG File "/tmp/autopkgtest.WXFAly/build.vXv/src/datalad_next/annexbackends/tests/test_base.py", line 31, in can_verify 718s DEBUG raise RuntimeError('intentional blow') 718s DEBUG RuntimeError: intentional blow 718s ERROR intentional blow 718s PASSED 723s ../build.vXv/src/datalad_next/annexremotes/tests/test_archivist.py::test_archivist_retrieval ERROR 728s ../build.vXv/src/datalad_next/annexremotes/tests/test_archivist.py::test_archivist_retrieval_legacy ERROR 728s ../build.vXv/src/datalad_next/annexremotes/tests/test_archivist.py::test_claimcheck_url PASSED 728s ../build.vXv/src/datalad_next/annexremotes/tests/test_archivist.py::test_archivist_unsupported PASSED 729s ../build.vXv/src/datalad_next/annexremotes/tests/test_uncurl.py::test_uncurl_remove_no_tmpl PASSED 729s ../build.vXv/src/datalad_next/annexremotes/tests/test_uncurl.py::test_uncurl_transfer_store_no_tmpl PASSED 730s ../build.vXv/src/datalad_next/annexremotes/tests/test_uncurl.py::test_uncurl_checkretrieve PASSED 730s ../build.vXv/src/datalad_next/annexremotes/tests/test_uncurl.py::test_uncurl_claimurl PASSED[WARNING] Failed to spin up httpbin Docker container: 730s Traceback (most recent call last): 730s File "/tmp/autopkgtest.WXFAly/build.vXv/src/datalad_next/tests/fixtures.py", line 531, in httpbin_service 730s r = subprocess.run( 730s ^^^^^^^^^^^^^^^ 730s File "/usr/lib/python3.12/subprocess.py", line 548, in run 730s with Popen(*popenargs, **kwargs) as process: 730s ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 730s File "/usr/lib/python3.12/subprocess.py", line 1026, in __init__ 730s self._execute_child(args, executable, preexec_fn, close_fds, 730s File "/usr/lib/python3.12/subprocess.py", line 1955, in _execute_child 730s raise child_exception_type(errno_num, err_msg, err_filename) 730s FileNotFoundError: [Errno 2] No such file or directory: 'docker' 730s 730s ../build.vXv/src/datalad_next/annexremotes/tests/test_uncurl.py::test_uncurl_checkurl SKIPPED 731s ../build.vXv/src/datalad_next/annexremotes/tests/test_uncurl.py::test_uncurl_addurl_unredirected SKIPPED 735s ../build.vXv/src/datalad_next/annexremotes/tests/test_uncurl.py::test_uncurl FAILED 742s ../build.vXv/src/datalad_next/annexremotes/tests/test_uncurl.py::test_uncurl_ria_access FAILED 749s ../build.vXv/src/datalad_next/annexremotes/tests/test_uncurl.py::test_uncurl_store FAILED 749s ../build.vXv/src/datalad_next/annexremotes/tests/test_uncurl.py::test_uncurl_store_via_ssh SKIPPED 752s ../build.vXv/src/datalad_next/annexremotes/tests/test_uncurl.py::test_uncurl_remove FAILED 873s ../build.vXv/src/datalad_next/annexremotes/tests/test_uncurl.py::test_uncurl_testremote FAILED 873s ../build.vXv/src/datalad_next/archive_operations/tests/test_tarfile.py::test_tararchive_basics SKIPPED 873s ../build.vXv/src/datalad_next/archive_operations/tests/test_tarfile.py::test_tararchive_contain SKIPPED 873s ../build.vXv/src/datalad_next/archive_operations/tests/test_tarfile.py::test_tararchive_iterator SKIPPED 873s ../build.vXv/src/datalad_next/archive_operations/tests/test_tarfile.py::test_open SKIPPED 873s ../build.vXv/src/datalad_next/archive_operations/tests/test_zipfile.py::test_ziparchive_basics PASSED 873s ../build.vXv/src/datalad_next/archive_operations/tests/test_zipfile.py::test_ziparchive_contain PASSED 873s ../build.vXv/src/datalad_next/archive_operations/tests/test_zipfile.py::test_ziparchive_iterator PASSED 873s ../build.vXv/src/datalad_next/archive_operations/tests/test_zipfile.py::test_open PASSED 873s ../build.vXv/src/datalad_next/archive_operations/tests/test_zipfile.py::test_open_zipinfo PASSED 873s ../build.vXv/src/datalad_next/archive_operations/tests/test_zipfile.py::test_ziparchive_noncontext PASSED 873s ../build.vXv/src/datalad_next/commands/tests/test_create_sibling_webdav.py::test_common_workflow_implicit_cred SKIPPED 874s ../build.vXv/src/datalad_next/commands/tests/test_create_sibling_webdav.py::test_common_workflow_explicit_cred SKIPPED 874s ../build.vXv/src/datalad_next/commands/tests/test_create_sibling_webdav.py::test_common_workflow_export SKIPPED 875s ../build.vXv/src/datalad_next/commands/tests/test_create_sibling_webdav.py::test_bad_url_catching PASSED 875s ../build.vXv/src/datalad_next/commands/tests/test_create_sibling_webdav.py::test_http_warning PASSED 876s ../build.vXv/src/datalad_next/commands/tests/test_create_sibling_webdav.py::test_constraints_checking PASSED 876s ../build.vXv/src/datalad_next/commands/tests/test_create_sibling_webdav.py::test_name_clash_detection [WARNING] Using 'http:' ('http://localhost:22334/abc') means that WebDAV credentials are sent unencrypted over network links. Consider using 'https:'. 876s [WARNING] Using 'http:' ('http://localhost:22334/abc') means that WebDAV credentials are sent unencrypted over network links. Consider using 'https:'. 876s [WARNING] Using 'http:' ('http://localhost:22334/abc') means that WebDAV credentials are sent unencrypted over network links. Consider using 'https:'. 876s [WARNING] Sibling name will be used for storage sibling in storage-sibling-only mode, but a storage sibling name was provided 876s [WARNING] Using 'http:' ('http://localhost:22334/abc') means that WebDAV credentials are sent unencrypted over network links. Consider using 'https:'. 876s [WARNING] Sibling name will be used for storage sibling in storage-sibling-only mode, but a storage sibling name was provided 876s PASSED 877s ../build.vXv/src/datalad_next/commands/tests/test_create_sibling_webdav.py::test_unused_storage_name_warning PASSED 877s ../build.vXv/src/datalad_next/commands/tests/test_create_sibling_webdav.py::test_existing_switch SKIPPED 878s ../build.vXv/src/datalad_next/commands/tests/test_create_sibling_webdav.py::test_result_renderer SKIPPED 878s ../build.vXv/src/datalad_next/commands/tests/test_credentials.py::test_normalize_specs PASSED 878s ../build.vXv/src/datalad_next/commands/tests/test_credentials.py::test_errorhandling_smoketest PASSED 879s ../build.vXv/src/datalad_next/commands/tests/test_credentials.py::test_credentials_cli FAILED 879s ../build.vXv/src/datalad_next/commands/tests/test_credentials.py::test_interactive_entry_get PASSED 879s ../build.vXv/src/datalad_next/commands/tests/test_credentials.py::test_interactive_entry_set PASSED 879s ../build.vXv/src/datalad_next/commands/tests/test_credentials.py::test_result_renderer weird(broken): 879s PASSED 879s ../build.vXv/src/datalad_next/commands/tests/test_credentials.py::test_extreme_credential_name PASSED 879s ../build.vXv/src/datalad_next/commands/tests/test_download.py::test_download PASSED 879s ../build.vXv/src/datalad_next/commands/tests/test_download.py::test_download_invalid_calls PASSED 879s ../build.vXv/src/datalad_next/commands/tests/test_download.py::test_download_auth PASSED 879s ../build.vXv/src/datalad_next/commands/tests/test_download.py::test_download_basic_auth SKIPPED 879s ../build.vXv/src/datalad_next/commands/tests/test_download.py::test_download_bearer_token_auth SKIPPED 879s ../build.vXv/src/datalad_next/commands/tests/test_download.py::test_download_digest_auth SKIPPED 879s ../build.vXv/src/datalad_next/commands/tests/test_download.py::test_download_explicit_credential SKIPPED 879s ../build.vXv/src/datalad_next/commands/tests/test_download.py::test_download_auth_after_redirect SKIPPED 879s ../build.vXv/src/datalad_next/commands/tests/test_download.py::test_download_no_credential_leak_to_http SKIPPED 879s ../build.vXv/src/datalad_next/commands/tests/test_download.py::test_download_new_bearer_token SKIPPED 879s ../build.vXv/src/datalad_next/commands/tests/test_download.py::test_download_new_bearer_token_nosave SKIPPED 879s ../build.vXv/src/datalad_next/commands/tests/test_download.py::test_download_404 SKIPPED 879s ../build.vXv/src/datalad_next/commands/tests/test_download.py::test_downloadurl PASSED 879s ../build.vXv/src/datalad_next/commands/tests/test_ls_file_collection.py::test_ls_file_collection_insufficient_args PASSED 879s ../build.vXv/src/datalad_next/commands/tests/test_ls_file_collection.py::test_ls_file_collection_zipfile PASSED 879s ../build.vXv/src/datalad_next/commands/tests/test_ls_file_collection.py::test_ls_file_collection_tarfile SKIPPED 879s ../build.vXv/src/datalad_next/commands/tests/test_ls_file_collection.py::test_ls_file_collection_directory PASSED 879s ../build.vXv/src/datalad_next/commands/tests/test_ls_file_collection.py::test_ls_file_collection_gitworktree PASSED 879s ../build.vXv/src/datalad_next/commands/tests/test_ls_file_collection.py::test_ls_file_collection_validator PASSED 879s ../build.vXv/src/datalad_next/commands/tests/test_ls_file_collection.py::test_replace_add_archive_content SKIPPED 879s ../build.vXv/src/datalad_next/commands/tests/test_ls_file_collection.py::test_ls_renderer -rw-rw-r-- 1.8K 1000:0 May 21 2024 /tmp/autopkgtest.WXFAly/build.vXv/src/datalad_next/commands/tests/test_status.py (file) 879s -rw-rw-r-- 31.0K 1000:0 May 21 2024 /tmp/autopkgtest.WXFAly/build.vXv/src/datalad_next/commands/tests/test_tree.py (file) 879s -rw-rw-r-- 14.6K 1000:0 May 21 2024 /tmp/autopkgtest.WXFAly/build.vXv/src/datalad_next/commands/tests/test_create_sibling_webdav.py (file) 879s -rw-rw-r-- 8.1K 1000:0 May 21 2024 /tmp/autopkgtest.WXFAly/build.vXv/src/datalad_next/commands/tests/test_ls_file_collection.py (file) 879s -rw-rw-r-- 8.9K 1000:0 May 21 2024 /tmp/autopkgtest.WXFAly/build.vXv/src/datalad_next/commands/tests/test_download.py (file) 879s -rw-rw-r-- 6.0K 1000:0 May 21 2024 /tmp/autopkgtest.WXFAly/build.vXv/src/datalad_next/commands/tests/test_credentials.py (file) 879s -rw-rw-r-- 1.7K 1000:0 May 21 2024 /tmp/autopkgtest.WXFAly/build.vXv/src/datalad_next/commands/tests/test_results.py (file) 879s -rw-rw-r-- 0B 1000:0 May 21 2024 /tmp/autopkgtest.WXFAly/build.vXv/src/datalad_next/commands/tests/__init__.py (file) 879s drwxrwxr-x - 1000:1000 2 min ago /tmp/autopkgtest.WXFAly/build.vXv/src/datalad_next/commands/tests/__pycache__ (directory) 879s PASSED 880s ../build.vXv/src/datalad_next/commands/tests/test_ls_file_collection.py::test_ls_annexworktree_empty_dataset PASSED 881s ../build.vXv/src/datalad_next/commands/tests/test_ls_file_collection.py::test_ls_annexworktree_simple_dataset add(ok): sample.bin (file) 881s save(ok): . (dataset) 881s action summary: 881s add (ok: 1) 881s save (ok: 1) 881s PASSED 881s ../build.vXv/src/datalad_next/commands/tests/test_results.py::test_commandresult PASSED 881s ../build.vXv/src/datalad_next/commands/tests/test_status.py::test_status_invalid PASSED 882s ../build.vXv/src/datalad_next/commands/tests/test_status.py::test_status_renderer_smoke nothing to save, working tree clean 882s untracked: untracked 882s PASSED 884s ../build.vXv/src/datalad_next/commands/tests/test_status.py::test_status_clean PASSED 890s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_tree[1-False-False-expected] FAILED 890s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_tree[3-False-False-expected] FAILED 891s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_tree[1-True-False-expected] FAILED 891s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_tree[3-True-False-expected] FAILED 892s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_tree[1-True-True-expected] FAILED 893s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_tree[3-True-True-expected] FAILED 893s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_tree[1-False-True-expected] FAILED 894s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_tree[3-False-True-expected] FAILED 895s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_stats[1-False-False-0 datasets, 3 directories] FAILED 895s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_stats[3-False-False-0 datasets, 6 directories] FAILED 896s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_stats[1-True-False-0 datasets, 3 directories, 2 files] FAILED 897s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_stats[3-True-False-0 datasets, 6 directories, 8 files] FAILED 897s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_stats[1-True-True-0 datasets, 4 directories, 3 files] FAILED 898s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_stats[3-True-True-0 datasets, 7 directories, 11 files] FAILED 898s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_stats[1-False-True-0 datasets, 4 directories] FAILED 899s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_stats[3-False-True-0 datasets, 7 directories] FAILED 900s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_root_path_is_normalized[root/] FAILED 900s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_root_path_is_normalized[root/.] FAILED 901s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_root_path_is_normalized[root/./] FAILED 902s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_root_path_is_normalized[root/../root] FAILED 902s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_no_difference_if_root_path_absolute_or_relative FAILED 903s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_tree_depth_zero FAILED 903s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_exhausted_levels_are_below_current_depth[1-False-False] PASSED 903s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_exhausted_levels_are_below_current_depth[3-False-False] PASSED 903s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_exhausted_levels_are_below_current_depth[1-True-False] PASSED 903s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_exhausted_levels_are_below_current_depth[3-True-False] PASSED 903s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_exhausted_levels_are_below_current_depth[1-True-True] PASSED 903s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_exhausted_levels_are_below_current_depth[3-True-True] PASSED 903s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_exhausted_levels_are_below_current_depth[1-False-True] PASSED 903s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_exhausted_levels_are_below_current_depth[3-False-True] PASSED 904s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithDatasets::test_print_tree[1-False-False-expected] FAILED 904s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithDatasets::test_print_tree[4-False-False-expected] FAILED 905s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithDatasets::test_print_stats[1-False-False-2 datasets, 1 directory] FAILED 905s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithDatasets::test_print_stats[4-False-False-7 datasets, 3 directories] FAILED 906s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithDatasets::test_root_path_is_normalized[root/] FAILED 907s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithDatasets::test_root_path_is_normalized[root/.] FAILED 907s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithDatasets::test_root_path_is_normalized[root/./] FAILED 908s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithDatasets::test_root_path_is_normalized[root/../root] FAILED 909s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithDatasets::test_no_difference_if_root_path_absolute_or_relative FAILED 909s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithDatasets::test_print_tree_depth_zero FAILED 909s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithDatasets::test_exhausted_levels_are_below_current_depth[1-False-False] PASSED 909s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithDatasets::test_exhausted_levels_are_below_current_depth[4-False-False] PASSED 910s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_tree[0-0-expected] FAILED 911s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_tree[0-1-expected] FAILED 911s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_tree[0-2-expected] FAILED 912s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_tree[1-0-expected] FAILED 912s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_tree[1-2-expected] FAILED 913s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_tree[None-0-expected] FAILED 914s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_tree[None-2-expected] FAILED 914s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_tree_without_datasets FAILED 915s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_stats[0-0-3 datasets, 0 directories] FAILED 916s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_stats[0-1-3 datasets, 1 directory] FAILED 916s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_stats[0-2-3 datasets, 2 directories] FAILED 917s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_stats[1-0-6 datasets, 1 directory] FAILED 917s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_stats[1-2-6 datasets, 2 directories] FAILED 918s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_stats[None-0-7 datasets, 1 directory] FAILED 919s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_stats[None-2-7 datasets, 2 directories] FAILED 919s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeFilesystemIssues::test_print_tree_fails_for_nonexistent_directory PASSED 919s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeFilesystemIssues::test_print_tree_permission_denied FAILED 919s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeFilesystemIssues::test_tree_with_broken_symlinks[True] PASSED 919s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeFilesystemIssues::test_tree_with_broken_symlinks[False] PASSED 919s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeFilesystemIssues::test_tree_with_broken_symlinks_to_inaccessible_targets[True] PASSED 919s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeFilesystemIssues::test_tree_with_broken_symlinks_to_inaccessible_targets[False] PASSED 924s ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeFilesystemIssues::test_print_tree_with_recursive_symlinks create(ok): . (dataset) 924s add(ok): subdir/annexed_file.txt (file) 924s save(ok): . (dataset) 924s action summary: 924s add (ok: 1) 924s save (ok: 1) 924s add(ok): subdir/git_file.txt (file) 924s save(ok): . (dataset) 924s action summary: 924s add (ok: 1) 924s save (ok: 1) 924s add(ok): subds_modified (dataset) 924s add(ok): .gitmodules (file) 924s save(ok): . (dataset) 924s create(ok): subds_modified (dataset) 924s action summary: 924s add (ok: 2) 924s create (ok: 1) 924s save (ok: 1) 924s add(ok): subds_lvl1_modified (dataset) 924s add(ok): .gitmodules (file) 924s save(ok): subds_modified (dataset) 924s add(ok): subds_modified (dataset) 924s add(ok): .gitmodules (file) 924s save(ok): . (dataset) 924s create(ok): subds_modified/subds_lvl1_modified (dataset) 924s action summary: 924s add (ok: 4) 924s create (ok: 1) 924s save (ok: 2) 924s add(ok): subdir/annexed_file.txt (file) 924s save(ok): . (dataset) 924s action summary: 924s add (ok: 1) 924s save (ok: 1) 924s FAILED 924s ../build.vXv/src/datalad_next/config/tests/test_core.py::test_parse_gitconfig_dump PASSED 924s ../build.vXv/src/datalad_next/config/tests/test_core.py::test_something fatal: no such section: nothere 924s fatal: --local can only be used inside a git repository 925s PASSED 925s ../build.vXv/src/datalad_next/config/tests/test_core.py::test_includeif_breaking PASSED 925s ../build.vXv/src/datalad_next/config/tests/test_core.py::test_crazy_cfg PASSED 925s ../build.vXv/src/datalad_next/config/tests/test_core.py::test_obtain create(ok): /tmp/datalad_temp_test_obtain8hp3o87s (dataset) 925s PASSED 925s ../build.vXv/src/datalad_next/config/tests/test_core.py::test_from_env PASSED 925s ../build.vXv/src/datalad_next/config/tests/test_core.py::test_from_env_overrides PASSED 925s ../build.vXv/src/datalad_next/config/tests/test_core.py::test_overrides PASSED 926s ../build.vXv/src/datalad_next/config/tests/test_core.py::test_rewrite_url PASSED 927s ../build.vXv/src/datalad_next/config/tests/test_core.py::test_no_leaks create(ok): . (dataset) 927s create(ok): . (dataset) 927s PASSED 927s ../build.vXv/src/datalad_next/config/tests/test_core.py::test_no_local_write_if_no_dataset create(ok): . (dataset) 927s PASSED 928s ../build.vXv/src/datalad_next/config/tests/test_core.py::test_dataset_local_mode create(ok): /tmp/datalad_temp_test_dataset_local_mode8ok6ggg8 (dataset) 928s PASSED 928s ../build.vXv/src/datalad_next/config/tests/test_core.py::test_dataset_systemglobal_mode create(ok): /tmp/datalad_temp_test_dataset_systemglobal_modee7u2edf0 (dataset) 928s PASSED 928s ../build.vXv/src/datalad_next/config/tests/test_core.py::test_global_config PASSED 929s ../build.vXv/src/datalad_next/config/tests/test_core.py::test_bare create(ok): . (dataset) 929s add(ok): .datalad/config (file) 929s save(ok): . (dataset) 929s action summary: 929s add (ok: 1) 929s save (ok: 1) 929s PASSED 929s ../build.vXv/src/datalad_next/config/tests/test_core.py::test_write_config_section PASSED 929s ../build.vXv/src/datalad_next/config/tests/test_core.py::test_external_modification PASSED 929s ../build.vXv/src/datalad_next/config/tests/test_core.py::test_where_to_scope PASSED 930s ../build.vXv/src/datalad_next/config/tests/test_core.py::test_cross_cfgman_update PASSED 930s ../build.vXv/src/datalad_next/config/tests/test_utils.py::test_get_gitconfig_items_from_env PASSED 930s ../build.vXv/src/datalad_next/config/tests/test_utils.py::test_set_gitconfig_items_in_env PASSED 930s ../build.vXv/src/datalad_next/config/tests/test_utils.py::test_get_set_gitconfig_env_roundtrip PASSED 930s ../build.vXv/src/datalad_next/constraints/tests/test_base.py::test_base PASSED 930s ../build.vXv/src/datalad_next/constraints/tests/test_base.py::test_allof PASSED 930s ../build.vXv/src/datalad_next/constraints/tests/test_base.py::test_anyof PASSED 930s ../build.vXv/src/datalad_next/constraints/tests/test_base.py::test_both PASSED 930s ../build.vXv/src/datalad_next/constraints/tests/test_basic.py::test_noconstraint PASSED 930s ../build.vXv/src/datalad_next/constraints/tests/test_basic.py::test_int PASSED 930s ../build.vXv/src/datalad_next/constraints/tests/test_basic.py::test_float PASSED 930s ../build.vXv/src/datalad_next/constraints/tests/test_basic.py::test_bool PASSED 930s ../build.vXv/src/datalad_next/constraints/tests/test_basic.py::test_str PASSED 930s ../build.vXv/src/datalad_next/constraints/tests/test_basic.py::test_str_min_len PASSED 930s ../build.vXv/src/datalad_next/constraints/tests/test_basic.py::test_EnsureStr_match PASSED 930s ../build.vXv/src/datalad_next/constraints/tests/test_basic.py::test_EnsureStrPrefix PASSED 930s ../build.vXv/src/datalad_next/constraints/tests/test_basic.py::test_EnsureValue PASSED 930s ../build.vXv/src/datalad_next/constraints/tests/test_basic.py::test_none PASSED 930s ../build.vXv/src/datalad_next/constraints/tests/test_basic.py::test_callable PASSED 930s ../build.vXv/src/datalad_next/constraints/tests/test_basic.py::test_choice PASSED 930s ../build.vXv/src/datalad_next/constraints/tests/test_basic.py::test_keychoice PASSED 930s ../build.vXv/src/datalad_next/constraints/tests/test_basic.py::test_range PASSED 930s ../build.vXv/src/datalad_next/constraints/tests/test_basic.py::test_type_str PASSED 930s ../build.vXv/src/datalad_next/constraints/tests/test_basic.py::test_EnsurePath PASSED 930s ../build.vXv/src/datalad_next/constraints/tests/test_basic.py::test_EnsurePath_fordataset PASSED 930s ../build.vXv/src/datalad_next/constraints/tests/test_basic.py::test_EnsureHashAlgorithm PASSED 930s ../build.vXv/src/datalad_next/constraints/tests/test_cmdarg_validation.py::test_multi_validation PASSED 930s ../build.vXv/src/datalad_next/constraints/tests/test_cmdarg_validation.py::test_invalid_multi_validation PASSED 930s ../build.vXv/src/datalad_next/constraints/tests/test_cmdarg_validation.py::test_cmd_with_validation PASSED 931s ../build.vXv/src/datalad_next/constraints/tests/test_cmdarg_validation.py::test_constraint_dataset_tailoring PASSED 931s ../build.vXv/src/datalad_next/constraints/tests/test_compound.py::test_EnsureTupleOf PASSED 931s ../build.vXv/src/datalad_next/constraints/tests/test_compound.py::test_EnsureListOf PASSED 931s ../build.vXv/src/datalad_next/constraints/tests/test_compound.py::test_EnsureIterableOf PASSED 931s ../build.vXv/src/datalad_next/constraints/tests/test_compound.py::test_EnsureMapping PASSED 931s ../build.vXv/src/datalad_next/constraints/tests/test_compound.py::test_EnsureGeneratorFromFileLike PASSED 931s ../build.vXv/src/datalad_next/constraints/tests/test_compound.py::test_ConstraintWithPassthrough PASSED 931s ../build.vXv/src/datalad_next/constraints/tests/test_compound.py::test_WithDescription PASSED 931s ../build.vXv/src/datalad_next/constraints/tests/test_exceptions.py::test_constrainterror_repr PASSED 931s ../build.vXv/src/datalad_next/constraints/tests/test_exceptions.py::test_constrainterrors PASSED 931s ../build.vXv/src/datalad_next/constraints/tests/test_exceptions.py::test_parametercontext PASSED 931s ../build.vXv/src/datalad_next/constraints/tests/test_exceptions.py::test_parametercontexterrors PASSED 931s ../build.vXv/src/datalad_next/constraints/tests/test_exceptions.py::test_parameterizationerrors PASSED 931s ../build.vXv/src/datalad_next/constraints/tests/test_special_purpose.py::test_EnsureGitRefName PASSED 932s ../build.vXv/src/datalad_next/constraints/tests/test_special_purpose.py::test_EnsureRemoteName PASSED 932s ../build.vXv/src/datalad_next/constraints/tests/test_special_purpose.py::test_EnsureParameterConstraint PASSED 932s ../build.vXv/src/datalad_next/constraints/tests/test_special_purpose.py::test_EnsureParameterConstraint_passthrough PASSED 932s ../build.vXv/src/datalad_next/constraints/tests/test_special_purpose.py::test_EnsureJSONLines PASSED 932s ../build.vXv/src/datalad_next/constraints/tests/test_special_purpose.py::test_EnsureURL PASSED 932s ../build.vXv/src/datalad_next/constraints/tests/test_special_purpose.py::test_EnsureURL_match PASSED 932s ../build.vXv/src/datalad_next/constraints/tests/test_special_purpose.py::test_EnsureDataset PASSED 932s ../build.vXv/src/datalad_next/constraints/tests/test_tutorial.py::test_dobatch PASSED 932s ../build.vXv/src/datalad_next/credman/tests/test_credman.py::test_credmanager PASSED 932s ../build.vXv/src/datalad_next/credman/tests/test_credman.py::test_credmanager_set_noninteractive PASSED 933s ../build.vXv/src/datalad_next/credman/tests/test_credman.py::test_credman_local PASSED 933s ../build.vXv/src/datalad_next/credman/tests/test_credman.py::test_query PASSED 933s ../build.vXv/src/datalad_next/credman/tests/test_credman.py::test_credman_get PASSED 933s ../build.vXv/src/datalad_next/credman/tests/test_credman.py::test_credman_get_guess_type PASSED 933s ../build.vXv/src/datalad_next/credman/tests/test_credman.py::test_credman_obtain PASSED 934s ../build.vXv/src/datalad_next/credman/tests/test_credman.py::test_legacy_credentials PASSED 936s ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py::test_annex_remote FAILED 939s ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py::test_export_remote FAILED 941s ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py::test_annex_remote_autorepush FAILED 944s ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py::test_export_remote_autorepush FAILED 944s ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py::test_params_from_url PASSED 946s ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py::test_typeweb_annex FAILED 948s ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py::test_typeweb_annex_uncompressed FAILED 951s ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py::test_typeweb_export FAILED 953s ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py::test_submodule_url FAILED 953s ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py::test_webdav_auth SKIPPED 955s ../build.vXv/src/datalad_next/iter_collections/tests/test_iterannexworktree.py::test_iter_annexworktree PASSED 956s ../build.vXv/src/datalad_next/iter_collections/tests/test_iterannexworktree.py::test_iter_annexworktree_tuned PASSED 957s ../build.vXv/src/datalad_next/iter_collections/tests/test_iterannexworktree.py::test_iter_annexworktree_basic_fp PASSED 958s ../build.vXv/src/datalad_next/iter_collections/tests/test_iterannexworktree.py::test_iter_annexworktree_nonrecursive PASSED 958s ../build.vXv/src/datalad_next/iter_collections/tests/test_iterannexworktree.py::test_iter_annexworktree_noannex PASSED 958s ../build.vXv/src/datalad_next/iter_collections/tests/test_iterdir.py::test_iter_dir PASSED 958s ../build.vXv/src/datalad_next/iter_collections/tests/test_itergitdiff.py::test_iter_gitdiff_invalid PASSED 961s ../build.vXv/src/datalad_next/iter_collections/tests/test_itergitdiff.py::test_iter_gitdiff_basic PASSED 962s ../build.vXv/src/datalad_next/iter_collections/tests/test_itergitdiff.py::test_iter_gitdiff_nonroot PASSED 964s ../build.vXv/src/datalad_next/iter_collections/tests/test_itergitdiff.py::test_iter_gitdiff_nonrec PASSED 965s ../build.vXv/src/datalad_next/iter_collections/tests/test_itergitdiff.py::test_iter_gitdiff_typechange_issue6791 PASSED 968s ../build.vXv/src/datalad_next/iter_collections/tests/test_itergitdiff.py::test_iter_gitdiff_rec PASSED 988s ../build.vXv/src/datalad_next/iter_collections/tests/test_itergitstatus.py::test_status_homogeneity PASSED 989s ../build.vXv/src/datalad_next/iter_collections/tests/test_itergitstatus.py::test_status_invalid_params PASSED 989s ../build.vXv/src/datalad_next/iter_collections/tests/test_itergitstatus.py::test_status_vs_git PASSED 990s ../build.vXv/src/datalad_next/iter_collections/tests/test_itergitstatus.py::test_status_norec PASSED 991s ../build.vXv/src/datalad_next/iter_collections/tests/test_itergitstatus.py::test_status_smrec PASSED 991s ../build.vXv/src/datalad_next/iter_collections/tests/test_itergitstatus.py::test_status_monorec PASSED 991s ../build.vXv/src/datalad_next/iter_collections/tests/test_itergitstatus.py::test_status_gitinit Initialized empty Git repository in /tmp/pytest-of-ubuntu/pytest-0/test_status_gitinit0/.git/ 992s PASSED 992s ../build.vXv/src/datalad_next/iter_collections/tests/test_itergitstatus.py::test_status_nohead_staged Initialized empty Git repository in /tmp/pytest-of-ubuntu/pytest-0/test_status_nohead_staged0/.git/ 992s PASSED 993s ../build.vXv/src/datalad_next/iter_collections/tests/test_itergittree.py::test_iter_gittree PASSED 993s ../build.vXv/src/datalad_next/iter_collections/tests/test_itergittree.py::test_name_starting_with_tab [WARNING] Some elements of your dataset are not compatible with Windows systems. Disable this check by changing datalad.save.windows-compat-warning or consider renaming the following elements: 993s | Elements with illegal characters: ['\ttab.txt'] 994s PASSED 994s ../build.vXv/src/datalad_next/iter_collections/tests/test_itergittree.py::test_iter_gittree_empty PASSED 995s ../build.vXv/src/datalad_next/iter_collections/tests/test_itergitworktree.py::test_iter_gitworktree PASSED 996s ../build.vXv/src/datalad_next/iter_collections/tests/test_itergitworktree.py::test_name_starting_with_tab [WARNING] Some elements of your dataset are not compatible with Windows systems. Disable this check by changing datalad.save.windows-compat-warning or consider renaming the following elements: 996s | Elements with illegal characters: ['\ttab.txt'] 996s PASSED 997s ../build.vXv/src/datalad_next/iter_collections/tests/test_itergitworktree.py::test_iter_gitworktree_recursive PASSED 998s ../build.vXv/src/datalad_next/iter_collections/tests/test_itergitworktree.py::test_iter_gitworktree_empty PASSED 999s ../build.vXv/src/datalad_next/iter_collections/tests/test_itergitworktree.py::test_iter_gitworktree_deadsymlinks PASSED 1000s ../build.vXv/src/datalad_next/iter_collections/tests/test_itergitworktree.py::test_iter_gitworktree_basic_fp PASSED 1000s ../build.vXv/src/datalad_next/iter_collections/tests/test_itertar.py::test_iter_tar SKIPPED 1000s ../build.vXv/src/datalad_next/iter_collections/tests/test_iterzip.py::test_iter_zip PASSED 1000s ../build.vXv/src/datalad_next/iter_collections/tests/test_utils.py::test_FileSystemItem PASSED 1000s ../build.vXv/src/datalad_next/iter_collections/tests/test_utils.py::test_FileSystemItem_linktarget PASSED 1000s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_cat_not_necessarily_streamed PASSED 1005s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_cat_streamed PASSED 1005s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_process_closed_after PASSED 1005s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_exception_from_input_before_yield_propagated PASSED 1005s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_exception_from_input_after_yield_propagated PASSED 1005s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_exception_from_input_incorrect_type_propagated PASSED 1006s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_exception_from_output_during_input_iterating_propagates_and_does_not_hang[1] PASSED 1006s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_exception_from_output_during_input_iterating_propagates_and_does_not_hang[100] PASSED 1006s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_exception_from_output_during_input_iterating_propagates_and_does_not_hang[10000] PASSED 1006s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_exception_from_output_during_input_iterating_propagates_and_does_not_hang[1000000] PASSED 1006s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_exception_from_output_iterating_propagates_and_does_not_hang[0-1] PASSED 1006s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_exception_from_output_iterating_propagates_and_does_not_hang[0-100] PASSED 1006s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_exception_from_output_iterating_propagates_and_does_not_hang[0-10000] PASSED 1006s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_exception_from_output_iterating_propagates_and_does_not_hang[0-1000000] PASSED 1006s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_exception_from_output_iterating_propagates_and_does_not_hang[1-1] PASSED 1006s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_exception_from_output_iterating_propagates_and_does_not_hang[1-100] PASSED 1006s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_exception_from_output_iterating_propagates_and_does_not_hang[1-10000] PASSED 1006s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_exception_from_output_iterating_propagates_and_does_not_hang[1-1000000] PASSED 1006s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_exception_from_output_iterating_propagates_and_does_not_hang[100-1] PASSED 1006s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_exception_from_output_iterating_propagates_and_does_not_hang[100-100] PASSED 1006s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_exception_from_output_iterating_propagates_and_does_not_hang[100-10000] PASSED 1006s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_exception_from_output_iterating_propagates_and_does_not_hang[100-1000000] PASSED 1006s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_exception_from_not_found_process_propagated PASSED 1006s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_exception_from_return_code PASSED 1006s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_exception_from_context_even_though_return_code_with_long_standard_error PASSED 1006s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_exception_from_return_code_with_long_standard_error PASSED 1006s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_if_process_exits_with_non_zero_error_code_and_inner_exception_it_propagates PASSED 1006s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_if_process_closes_standard_input_but_exits_with_non_zero_error_code_then_broken_pipe_error PASSED 1006s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_if_process_closes_standard_input_but_exits_with_non_zero_error_code_then_iterable_subprocess_error PASSED 1006s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_program_that_outputs_for_a_long_time_is_interrupted_on_context_exit PASSED 1006s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_program_that_sleeps_exits_quickly_if_exception PASSED 1006s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_program_that_sleeps_exits_quickly_if_keyboard_interrupt PASSED 1006s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_program_that_sleeps_exits_quickly_if_keyboard_interrupt_just_before_thread_starts PASSED 1006s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_program_that_sleeps_exits_quickly_if_keyboard_interrupt_just_after_thread_starts PASSED 1008s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_program_that_sleeps_not_quickly_if_no_exception PASSED 1008s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_funzip_no_compression PASSED 1008s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_funzip_deflate PASSED 1008s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_error_returncode_available_from_generator PASSED 1008s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_error_returncode_available_from_generator_with_exception PASSED 1008s ../build.vXv/src/datalad_next/iterable_subprocess/test_iterable_subprocess.py::test_returncode_available_from_generator_with_exception PASSED 1008s ../build.vXv/src/datalad_next/itertools/tests/test_align_pattern.py::test_pattern_processor[data_chunks0-abc-expected0] PASSED 1008s ../build.vXv/src/datalad_next/itertools/tests/test_align_pattern.py::test_pattern_processor[data_chunks1-abc-expected1] PASSED 1008s ../build.vXv/src/datalad_next/itertools/tests/test_align_pattern.py::test_pattern_processor[data_chunks2-abc-expected2] PASSED 1008s ../build.vXv/src/datalad_next/itertools/tests/test_align_pattern.py::test_pattern_processor[data_chunks3-abc-expected3] PASSED 1008s ../build.vXv/src/datalad_next/itertools/tests/test_align_pattern.py::test_pattern_processor[data_chunks4-abc-expected4] PASSED 1008s ../build.vXv/src/datalad_next/itertools/tests/test_align_pattern.py::test_pattern_processor[data_chunks5-abc-expected5] PASSED 1009s ../build.vXv/src/datalad_next/itertools/tests/test_align_pattern.py::test_performance 0.00409343303181231 0.15046469983644783 36.757581879831484 1009s PASSED 1009s ../build.vXv/src/datalad_next/itertools/tests/test_align_pattern.py::test_newline_matches PASSED 1009s ../build.vXv/src/datalad_next/itertools/tests/test_decode_bytes.py::test_split_decoding PASSED 1009s ../build.vXv/src/datalad_next/itertools/tests/test_decode_bytes.py::test_unfixable_error_decoding PASSED 1009s ../build.vXv/src/datalad_next/itertools/tests/test_decode_bytes.py::test_single_undecodable_byte PASSED 1009s ../build.vXv/src/datalad_next/itertools/tests/test_decode_bytes.py::test_no_empty_strings PASSED 1009s ../build.vXv/src/datalad_next/itertools/tests/test_itemize.py::test_assembling_and_splitting[input_chunks0-\n] PASSED 1009s ../build.vXv/src/datalad_next/itertools/tests/test_itemize.py::test_assembling_and_splitting[input_chunks1-\n] PASSED 1009s ../build.vXv/src/datalad_next/itertools/tests/test_itemize.py::test_assembling_and_splitting[input_chunks2-\r\n] PASSED 1009s ../build.vXv/src/datalad_next/itertools/tests/test_itemize.py::test_assembling_and_splitting[input_chunks3-\r\n] PASSED 1009s ../build.vXv/src/datalad_next/itertools/tests/test_load_json.py::test_load_json_on_decoded_bytes PASSED 1009s ../build.vXv/src/datalad_next/itertools/tests/test_load_json.py::test_load_json_with_flag PASSED 1009s ../build.vXv/src/datalad_next/itertools/tests/test_reroute.py::test_route_around PASSED 1009s ../build.vXv/src/datalad_next/itertools/tests/test_reroute.py::test_route_no_processing PASSED 1009s ../build.vXv/src/datalad_next/patches/tests/test_add_method_url2transport_path.py::test_local_io_url2transport_path_posix PASSED 1009s ../build.vXv/src/datalad_next/patches/tests/test_add_method_url2transport_path.py::test_local_io_url2transport_path_windows SKIPPED 1009s ../build.vXv/src/datalad_next/patches/tests/test_add_method_url2transport_path.py::test_http_remote_io_url2transport_path PASSED 1009s ../build.vXv/src/datalad_next/patches/tests/test_annex_progress_logging.py::test_uncurl_progress_reporting_to_annex SKIPPED 1010s ../build.vXv/src/datalad_next/patches/tests/test_cli_configoverrides.py::test_cli_configoverrides unique 1010s PASSED 1010s ../build.vXv/src/datalad_next/patches/tests/test_commanderror.py::test_repr_str PASSED 1010s ../build.vXv/src/datalad_next/patches/tests/test_commanderror.py::test_returncode_code_alias PASSED 1012s ../build.vXv/src/datalad_next/patches/tests/test_configuration.py::test_something create(ok): . (dataset) 1012s 4 1012s add(ok): subds (dataset) 1012s add(ok): .gitmodules (file) 1012s save(ok): . (dataset) 1012s create(ok): subds (dataset) 1012s action summary: 1012s add (ok: 2) 1012s create (ok: 1) 1012s save (ok: 1) 1012s PASSED 1012s ../build.vXv/src/datalad_next/patches/tests/test_configuration.py::test_config_get_global PASSED 1012s ../build.vXv/src/datalad_next/patches/tests/test_configuration.py::test_getset_None PASSED 1013s ../build.vXv/src/datalad_next/patches/tests/test_create_sibling_ghlike.py::test_invalid_call [WARNING] Cannot determine authorization token for gin.g-node.org 1013s [WARNING] Cannot determine authorization token for some 1013s [WARNING] Cannot determine authorization token for some 1013s [WARNING] No token found for credential 'some' 1013s PASSED 1014s ../build.vXv/src/datalad_next/patches/tests/test_create_sibling_ghlike.py::test_dryrun [WARNING] Cannot determine authorization token for some 1014s [WARNING] No token found for credential 'some' 1014s [WARNING] Cannot determine authorization token for some 1014s [WARNING] No token found for credential 'some' 1014s [WARNING] Cannot determine authorization token for some 1014s [WARNING] No token found for credential 'some' 1014s [WARNING] Cannot determine authorization token for some 1014s [WARNING] No token found for credential 'some' 1015s create(ok): . (dataset) 1015s create_sibling_gin [dry-run](ok): [would create sibling 'gin' and repository 'bogus'] 1015s create_sibling_gin [dry-run](ok): [would create sibling 'gin' and repository 'strangeorg/bogus'] 1015s add(ok): subds (dataset) 1015s add(ok): .gitmodules (file) 1015s save(ok): . (dataset) 1015s create(ok): subds (dataset) 1015s action summary: 1015s add (ok: 2) 1015s create (ok: 1) 1015s save (ok: 1) 1015s create_sibling_gin [dry-run](ok): [would create sibling 'gin' and repository 'bogus'] 1015s create_sibling_gin [dry-run](ok): [would create sibling 'gin' and repository 'bogus-subds'] 1015s action summary: 1015s create_sibling_gin [dry-run] (ok: 2) 1015s uninstall(ok): subds (dataset) 1015s create_sibling_gin [dry-run](ok): [would create sibling 'gin' and repository 'bogus'] 1015s PASSED 1015s ../build.vXv/src/datalad_next/patches/tests/test_create_sibling_ghlike.py::test_gin SKIPPED 1015s ../build.vXv/src/datalad_next/patches/tests/test_create_sibling_ghlike.py::test_gitea SKIPPED 1015s ../build.vXv/src/datalad_next/patches/tests/test_create_sibling_ghlike.py::test_github SKIPPED 1015s ../build.vXv/src/datalad_next/patches/tests/test_create_sibling_ghlike.py::test_gogs SKIPPED 1023s ../build.vXv/src/datalad_next/patches/tests/test_create_sibling_gitlab.py::test_dryrun PASSED 1024s ../build.vXv/src/datalad_next/patches/tests/test_create_sibling_gitlab.py::test_fake_gitlab PASSED 1026s ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_invalid_call create(ok): . (dataset) 1026s publish(impossible): . (dataset) [No push target given, and none could be auto-detected, please specify via --to] 1026s action summary: 1026s publish (impossible: 1) 1026s publish(impossible): . (dataset) [No push target given, and none could be auto-detected, please specify via --to] 1026s action summary: 1026s publish (impossible: 1) 1026s action summary: 1026s publish (notneeded: 1) 1026s add(ok): sub (dataset) 1026s add(ok): .gitmodules (file) 1026s save(ok): . (dataset) 1026s create(ok): sub (dataset) 1026s action summary: 1026s add (ok: 2) 1026s create (ok: 1) 1026s save (ok: 1) 1026s uninstall(ok): . (dataset) 1026s subdataset(ok): sub (dataset) 1026s PASSED 1027s ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_push[False] create(ok): . (dataset) 1027s publish(impossible): . (dataset) [No push target given, and none could be auto-detected, please specify via --to] 1027s action summary: 1027s publish (impossible: 1) 1027s publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]] 1027s action summary: 1027s publish (ok: 1) 1027s action summary: 1027s publish (notneeded: 1) 1027s add(ok): test_mod_file (file) 1027s save(ok): . (dataset) 1027s action summary: 1027s add (ok: 1) 1027s save (ok: 1) 1027s add(ok): test_mod_annex_file (file) 1027s save(ok): . (dataset) 1027s action summary: 1027s add (ok: 1) 1027s save (ok: 1) 1027s publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch 1e2276e..334b9b3] 1027s action summary: 1027s publish (ok: 1) 1027s publish(error): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [rejected] (non-fast-forward)] 1027s action summary: 1027s publish (error: 1) 1027s Hints: 1027s 1: Updates were rejected because the tip of your current branch is behind its remote counterpart. If you want to integrate the remote changes, use 'git pull' before pushing again. See the 'Note about fast-forwards' in 'git push --help' for details. 1027s publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch 334b9b3...769511b (forced update)] 1027s action summary: 1027s publish (ok: 1) 1027s PASSED 1030s ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_push[True] create(ok): . (dataset) 1030s publish(impossible): . (dataset) [No push target given, and none could be auto-detected, please specify via --to] 1030s action summary: 1030s publish (impossible: 1) 1030s publish(ok): . (dataset) [refs/heads/git-annex->target:refs/heads/git-annex f3d581b..c9b337c] 1030s publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]] 1030s action summary: 1030s publish (ok: 2) 1030s action summary: 1030s publish (notneeded: 2) 1030s add(ok): test_mod_file (file) 1030s save(ok): . (dataset) 1030s action summary: 1030s add (ok: 1) 1030s save (ok: 1) 1030s add(ok): test_mod_annex_file (file) 1030s save(ok): . (dataset) 1030s action summary: 1030s add (ok: 1) 1030s save (ok: 1) 1030s FAILED 1041s ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_push_recursive create(ok): . (dataset) 1041s add(ok): sub m (dataset) 1041s add(ok): .gitmodules (file) 1041s save(ok): . (dataset) 1041s create(ok): sub m (dataset) 1041s action summary: 1041s add (ok: 2) 1041s create (ok: 1) 1041s save (ok: 1) 1041s add(ok): subsub m (dataset) 1041s add(ok): .gitmodules (file) 1041s save(ok): . (dataset) 1041s create(ok): subsub m (dataset) 1041s action summary: 1041s add (ok: 2) 1041s create (ok: 1) 1041s save (ok: 1) 1041s add(ok): subm noannex (dataset) 1041s add(ok): .gitmodules (file) 1041s save(ok): . (dataset) 1041s create(ok): subm noannex (dataset) 1041s action summary: 1041s add (ok: 2) 1041s create (ok: 1) 1041s save (ok: 1) 1041s add(ok): sub m (dataset) 1041s add(ok): .gitmodules (file) 1041s save(ok): . (dataset) 1041s action summary: 1041s add (ok: 2) 1041s save (ok: 1) 1041s install(ok): /tmp/datalad_temp_test_push_recursivem3kyw7c3 (dataset) 1041s install(ok): /tmp/datalad_temp_test_push_recursivem3kyw7c3/sub m (dataset) 1041s install(ok): /tmp/datalad_temp_test_push_recursivem3kyw7c3/subm noannex (dataset) 1041s install(ok): /tmp/datalad_temp_test_push_recursivem3kyw7c3/sub m/subsub m (dataset) 1041s action summary: 1041s install (ok: 3) 1041s publish(error): sub m/subsub m (dataset) [Unknown target sibling 'target'.] 1041s publish(error): sub m (dataset) [Unknown target sibling 'target'.] 1041s publish(error): subm noannex (dataset) [Unknown target sibling 'target'.] 1041s publish(ok): . (dataset) [refs/heads/git-annex->target:refs/heads/git-annex cd1a2ef..f653dd3] 1041s publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]] 1041s action summary: 1041s publish (error: 3, ok: 2) 1041s publish(ok): sub m/subsub m (dataset) [refs/heads/git-annex->target:refs/heads/git-annex 147d33c..540d942] 1041s publish(ok): sub m/subsub m (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]] 1041s publish(ok): sub m (dataset) [refs/heads/git-annex->target:refs/heads/git-annex 4719ee9..07adf8a] 1041s publish(ok): sub m (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]] 1041s publish(ok): subm noannex (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]] 1041s action summary: 1041s publish (notneeded: 2, ok: 5) 1041s action summary: 1041s publish (notneeded: 7) 1041s add(ok): test_mod_annex_file (file) 1041s save(ok): sub m/subsub m (dataset) 1041s add(ok): subsub m (dataset) 1041s add(ok): .gitmodules (file) 1041s save(ok): sub m (dataset) 1041s add(ok): sub m (dataset) 1041s add(ok): .gitmodules (file) 1041s save(ok): . (dataset) 1041s action summary: 1041s add (ok: 5) 1041s save (notneeded: 1, ok: 3) 1041s FAILED 1045s ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_push_subds_no_recursion create(ok): . (dataset) 1045s add(ok): sub m (dataset) 1045s add(ok): .gitmodules (file) 1045s save(ok): . (dataset) 1045s create(ok): sub m (dataset) 1045s action summary: 1045s add (ok: 2) 1045s create (ok: 1) 1045s save (ok: 1) 1045s add(ok): subdir/subsub m (dataset) 1045s add(ok): .gitmodules (file) 1045s save(ok): . (dataset) 1045s create(ok): subdir/subsub m (dataset) 1045s action summary: 1045s add (ok: 2) 1045s create (ok: 1) 1045s save (ok: 1) 1045s add(ok): subdir/test_file (file) 1045s save(ok): sub m (dataset) 1045s add(ok): sub m (dataset) 1045s add(ok): .gitmodules (file) 1045s save(ok): . (dataset) 1045s action summary: 1045s add (ok: 3) 1045s save (notneeded: 1, ok: 2) 1045s FAILED 1047s ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_force_checkdatapresent create(ok): . (dataset) 1047s add(ok): test_mod_annex_file (file) 1047s save(ok): . (dataset) 1047s action summary: 1047s add (ok: 1) 1047s save (ok: 1) 1047s publish(ok): . (dataset) [refs/heads/git-annex->target:refs/heads/git-annex 64dcfda..06e4074] 1047s publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]] 1047s action summary: 1047s publish (ok: 2) 1047s FAILED 1049s ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_ria_push create(ok): . (dataset) 1049s add(ok): test_mod_annex_file (file) 1049s save(ok): . (dataset) 1049s action summary: 1049s add (ok: 1) 1049s save (ok: 1) 1049s update(ok): . (dataset) 1049s update(ok): . (dataset) 1049s configure-sibling(ok): . (sibling) 1049s create-sibling-ria(ok): /tmp/datalad_temp_test_ria_push_3k7w1wy (dataset) 1049s action summary: 1049s configure-sibling (ok: 1) 1049s create-sibling-ria (ok: 1) 1049s update (ok: 1) 1049s copy(ok): test_mod_annex_file (file) [to datastore-storage...] 1049s publish(ok): . (dataset) [refs/heads/dl-test-branch->datastore:refs/heads/dl-test-branch [new branch]] 1049s publish(ok): . (dataset) [refs/heads/git-annex->datastore:refs/heads/git-annex [new branch]] 1049s action summary: 1049s copy (ok: 1) 1049s publish (ok: 2) 1049s PASSED 1051s ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_gh1426 create(ok): . (dataset) 1051s publish(ok): . (dataset) [refs/heads/git-annex->target:refs/heads/git-annex efa0569..3ae67fc] 1051s publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]] 1051s action summary: 1051s publish (ok: 2) 1051s add(ok): sub (dataset) 1051s add(ok): .gitmodules (file) 1051s save(ok): . (dataset) 1051s create(ok): sub (dataset) 1051s action summary: 1051s add (ok: 2) 1051s create (ok: 1) 1051s save (ok: 1) 1051s publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch df8cd0c..f06f999] 1051s action summary: 1051s publish (notneeded: 1, ok: 1) 1051s PASSED 1052s ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_publish_target_url create(ok): . (dataset) 1052s SKIPPED 1055s ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_gh1763 FAILED 1055s ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_gh1811 PASSED 1057s ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_push_wanted create(ok): . (dataset) 1057s add(ok): data.0 (file) 1057s add(ok): secure.1 (file) 1057s add(ok): secure.2 (file) 1057s save(ok): . (dataset) 1057s action summary: 1057s add (ok: 3) 1057s save (ok: 1) 1057s drop(ok): secure.2 (file) 1057s update(ok): . (dataset) 1057s create_sibling(ok): /tmp/datalad_temp_test_push_wantedmurgsa0j (dataset) 1057s FAILED 1059s ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_auto_data_transfer create(ok): . (dataset) 1059s add(ok): foo.dat (file) 1059s save(ok): . (dataset) 1059s action summary: 1059s add (ok: 1) 1059s save (ok: 1) 1059s update(ok): . (dataset) 1059s create_sibling(ok): /tmp/datalad_temp_test_auto_data_transferr5rx5bcv/a (dataset) 1059s publish(ok): . (dataset) [refs/heads/git-annex->b:refs/heads/git-annex f4afa90..5c2be65] 1059s publish(ok): . (dataset) [refs/heads/dl-test-branch->b:refs/heads/dl-test-branch [new branch]] 1059s action summary: 1059s publish (ok: 2) 1059s action summary: 1059s publish (notneeded: 2) 1059s FAILED 1064s ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_auto_if_wanted_data_transfer_path_restriction create(ok): . (dataset) 1064s add(ok): sub0 (dataset) 1064s add(ok): .gitmodules (file) 1064s save(ok): . (dataset) 1064s create(ok): sub0 (dataset) 1064s action summary: 1064s add (ok: 2) 1064s create (ok: 1) 1064s save (ok: 1) 1064s add(ok): sub1 (dataset) 1064s add(ok): .gitmodules (file) 1064s save(ok): . (dataset) 1064s create(ok): sub1 (dataset) 1064s action summary: 1064s add (ok: 2) 1064s create (ok: 1) 1064s save (ok: 1) 1064s add(ok): reg.dat (file) 1064s add(ok): sec.dat (file) 1064s save(ok): sub1 (dataset) 1064s add(ok): reg.dat (file) 1064s add(ok): sec.dat (file) 1064s save(ok): sub0 (dataset) 1064s add(ok): sub0 (dataset) 1064s add(ok): sub1 (dataset) 1064s add(ok): .gitmodules (file) 1064s add(ok): reg.dat (file) 1064s add(ok): sec.dat (file) 1064s save(ok): . (dataset) 1064s action summary: 1064s add (ok: 9) 1064s save (ok: 3) 1064s update(ok): . (dataset) 1064s update(ok): . (dataset) 1064s update(ok): . (dataset) 1064s create_sibling(ok): /tmp/datalad_temp_test_auto_if_wanted_data_transfer_path_restrictionkdml0rtu/a/sub1 (dataset) 1064s create_sibling(ok): /tmp/datalad_temp_test_auto_if_wanted_data_transfer_path_restrictionkdml0rtu/a/sub0 (dataset) 1064s create_sibling(ok): /tmp/datalad_temp_test_auto_if_wanted_data_transfer_path_restrictionkdml0rtu/a (dataset) 1064s action summary: 1064s create_sibling (ok: 3) 1064s FAILED 1065s ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_push_git_annex_branch_when_no_data create(ok): . (dataset) 1065s add(ok): f0 (file) 1065s save(ok): . (dataset) 1065s action summary: 1065s add (ok: 1) 1065s save (ok: 1) 1065s publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]] 1065s publish(ok): . (dataset) [refs/heads/git-annex->target:refs/heads/git-annex [new branch]] 1065s action summary: 1065s publish (ok: 2) 1065s PASSED 1067s ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_push_git_annex_branch_many_paths_same_data create(ok): . (dataset) 1067s add(ok): f0 (file) 1067s add(ok): f1 (file) 1067s add(ok): f2 (file) 1067s add(ok): f3 (file) 1067s add(ok): f4 (file) 1067s add(ok): f5 (file) 1067s save(ok): . (dataset) 1067s action summary: 1067s add (ok: 6) 1067s save (ok: 1) 1067s FAILED 1069s ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_push_matching create(ok): . (dataset) 1069s add(ok): f0 (file) 1069s save(ok): . (dataset) 1069s action summary: 1069s add (ok: 1) 1069s save (ok: 1) 1069s FAILED 1070s ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_nested_pushclone_cycle_allplatforms create(ok): /tmp/datalad_temp_test_nested_pushclone_cycle_allplatforms8p9lubxf/super (dataset) 1073s add(ok): sub (dataset) 1073s add(ok): .gitmodules (file) 1073s save(ok): . (dataset) 1073s create(ok): sub (dataset) 1073s action summary: 1073s add (ok: 2) 1073s create (ok: 1) 1073s save (ok: 1) 1075s add(ok): file2.txt (file) 1075s save(ok): sub (dataset) 1075s add(ok): sub (dataset) 1075s add(ok): .gitmodules (file) 1075s add(ok): file1.txt (file) 1075s save(ok): . (dataset) 1075s action summary: 1075s add (ok: 4) 1075s save (ok: 2) 1076s [INFO] Start checking pre-existing sibling configuration Dataset(/tmp/datalad_temp_test_nested_pushclone_cycle_allplatforms8p9lubxf/super) 1076s [INFO] Finished checking pre-existing sibling configuration Dataset(/tmp/datalad_temp_test_nested_pushclone_cycle_allplatforms8p9lubxf/super) 1076s [INFO] Creating a new RIA store at /tmp/datalad_temp_test_nested_pushclone_cycle_allplatforms5jtdkwo6 1076s [INFO] create siblings 'store' and 'store-storage' ... 1077s [INFO] Fetching updates for Dataset(/tmp/datalad_temp_test_nested_pushclone_cycle_allplatforms8p9lubxf/super) 1077s [INFO] Configure additional publication dependency on "store-storage" 1078s [INFO] create siblings 'store' and 'store-storage' ... 1078s [INFO] Fetching updates for Dataset(/tmp/datalad_temp_test_nested_pushclone_cycle_allplatforms8p9lubxf/super/sub) 1078s [INFO] Configure additional publication dependency on "store-storage" 1079s update(ok): . (dataset) 1079s update(ok): . (dataset) 1079s configure-sibling(ok): . (sibling) 1079s create-sibling-ria(ok): /tmp/datalad_temp_test_nested_pushclone_cycle_allplatforms8p9lubxf/super (dataset) 1079s update(ok): . (dataset) 1079s update(ok): . (dataset) 1079s configure-sibling(ok): . (sibling) 1079s create-sibling-ria(ok): /tmp/datalad_temp_test_nested_pushclone_cycle_allplatforms8p9lubxf/super/sub (dataset) 1079s action summary: 1079s configure-sibling (ok: 2) 1079s create-sibling-ria (ok: 2) 1079s update (ok: 2) 1080s [INFO] Determine push target 1080s [INFO] Push refspecs 1080s [INFO] Determine push target 1080s [INFO] Push refspecs 1080s [INFO] Transfer data 1081s [INFO] Transfer data 1081s [INFO] Update availability information 1081s [INFO] Start enumerating objects 1081s [INFO] Start counting objects 1081s [INFO] Start compressing objects 1081s [INFO] Start writing objects 1081s [INFO] Finished push of Dataset(/tmp/datalad_temp_test_nested_pushclone_cycle_allplatforms8p9lubxf/super/sub) 1081s [INFO] Finished push of Dataset(/tmp/datalad_temp_test_nested_pushclone_cycle_allplatforms8p9lubxf/super/sub) 1081s [INFO] Determine push target 1081s [INFO] Push refspecs 1081s [INFO] Determine push target 1081s [INFO] Push refspecs 1081s [INFO] Transfer data 1081s [INFO] Transfer data 1081s [INFO] Update availability information 1081s [INFO] Start enumerating objects 1081s [INFO] Start counting objects 1081s [INFO] Start compressing objects 1081s [INFO] Start writing objects 1081s [INFO] Finished push of Dataset(/tmp/datalad_temp_test_nested_pushclone_cycle_allplatforms8p9lubxf/super) 1081s [INFO] Finished push of Dataset(/tmp/datalad_temp_test_nested_pushclone_cycle_allplatforms8p9lubxf/super) 1081s copy(ok): sub/file2.txt (file) [to store-storage...] 1081s publish(ok): sub (dataset) [refs/heads/dl-test-branch->store:refs/heads/dl-test-branch [new branch]] 1081s publish(ok): sub (dataset) [refs/heads/git-annex->store:refs/heads/git-annex [new branch]] 1081s copy(ok): file1.txt (file) [to store-storage...] 1081s publish(ok): . (dataset) [refs/heads/dl-test-branch->store:refs/heads/dl-test-branch [new branch]] 1081s publish(ok): . (dataset) [refs/heads/git-annex->store:refs/heads/git-annex [new branch]] 1081s action summary: 1081s copy (ok: 2) 1081s publish (ok: 4) 1083s [INFO] Attempting a clone into /tmp/datalad_temp_test_nested_pushclone_cycle_allplatformso4n11xah/super 1083s [INFO] Attempting to clone from file:///tmp/datalad_temp_test_nested_pushclone_cycle_allplatforms5jtdkwo6/161/bc1b6-2216-4a90-95c1-0454d1745641 to /tmp/datalad_temp_test_nested_pushclone_cycle_allplatformso4n11xah/super 1083s [INFO] Completed clone attempts for Dataset(/tmp/datalad_temp_test_nested_pushclone_cycle_allplatformso4n11xah/super) 1084s [INFO] Configure additional publication dependency on "store-storage" 1084s configure-sibling(ok): . (sibling) 1084s install(ok): /tmp/datalad_temp_test_nested_pushclone_cycle_allplatformso4n11xah/super (dataset) 1084s action summary: 1084s configure-sibling (ok: 1) 1084s install (ok: 1) 1085s [INFO] Ensuring presence of Dataset(/tmp/datalad_temp_test_nested_pushclone_cycle_allplatformso4n11xah/super) to get /tmp/datalad_temp_test_nested_pushclone_cycle_allplatformso4n11xah/super 1085s [INFO] Attempting a clone into /tmp/datalad_temp_test_nested_pushclone_cycle_allplatformso4n11xah/super/sub 1085s [INFO] Attempting to clone from file:///tmp/datalad_temp_test_nested_pushclone_cycle_allplatforms5jtdkwo6/d0f/c6a2d-554b-42b3-82ca-65b032c0c7f6 to /tmp/datalad_temp_test_nested_pushclone_cycle_allplatformso4n11xah/super/sub 1085s [INFO] Completed clone attempts for Dataset(/tmp/datalad_temp_test_nested_pushclone_cycle_allplatformso4n11xah/super/sub) 1087s [INFO] Configure additional publication dependency on "store-storage" 1088s configure-sibling(ok): . (sibling) 1088s install(ok): /tmp/datalad_temp_test_nested_pushclone_cycle_allplatformso4n11xah/super/sub (dataset) 1088s get(error): file1.txt (file) [not enough free space, need 100 MB more (use --force to override this check or adjust annex.diskreserve)] 1088s get(error): sub/file2.txt (file) [not enough free space, need 100 MB more (use --force to override this check or adjust annex.diskreserve)] 1088s action summary: 1088s configure-sibling (ok: 1) 1088s get (error: 2) 1088s install (ok: 1) 1088s subdataset(ok): sub (dataset) 1088s .: store(-) [/tmp/datalad_temp_test_nested_pushclone_cycle_allplatforms5jtdkwo6/161/bc1b6-2216-4a90-95c1-0454d1745641 (git)] 1088s .: store(-) [/tmp/datalad_temp_test_nested_pushclone_cycle_allplatforms5jtdkwo6/d0f/c6a2d-554b-42b3-82ca-65b032c0c7f6 (git)] 1088s FAILED 1089s ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_push_custom_summary create(ok): . (dataset) 1089s add(ok): f2 (file) 1089s save(ok): . (dataset) 1089s action summary: 1089s add (ok: 1) 1089s save (ok: 1) 1089s PASSED 1089s ../build.vXv/src/datalad_next/patches/tests/test_push_to_export_remote.py::test_is_export_remote PASSED 1089s ../build.vXv/src/datalad_next/patches/tests/test_push_to_export_remote.py::test_patch_pass_through PASSED 1089s ../build.vXv/src/datalad_next/patches/tests/test_push_to_export_remote.py::test_patch_execute_export PASSED 1089s ../build.vXv/src/datalad_next/patches/tests/test_push_to_export_remote.py::test_patch_skip_ignore_targets_export PASSED 1089s ../build.vXv/src/datalad_next/patches/tests/test_push_to_export_remote.py::test_patch_check_envpatch PASSED 1089s ../build.vXv/src/datalad_next/patches/tests/test_push_to_export_remote.py::test_no_special_remotes PASSED 1089s ../build.vXv/src/datalad_next/patches/tests/test_push_to_export_remote.py::test_get_export_records_no_exports PASSED 1089s ../build.vXv/src/datalad_next/patches/tests/test_push_to_export_remote.py::test_get_export_records PASSED 1089s ../build.vXv/src/datalad_next/patches/tests/test_push_to_export_remote.py::test_get_export_log_entry PASSED 1089s ../build.vXv/src/datalad_next/patches/tests/test_push_to_export_remote.py::test_is_valid_treeish SKIPPED 1089s ../build.vXv/src/datalad_next/patches/tests/test_replace_ora_remote.py::test_canonify[ria+file] PASSED 1089s ../build.vXv/src/datalad_next/patches/tests/test_replace_ora_remote.py::test_canonify[file] PASSED 1089s ../build.vXv/src/datalad_next/patches/tests/test_replace_ora_remote.py::test_de_canonify[ria+file] PASSED 1089s ../build.vXv/src/datalad_next/patches/tests/test_replace_ora_remote.py::test_de_canonify[file] PASSED 1089s ../build.vXv/src/datalad_next/patches/tests/test_ria.py::test_ria_ssh_roundtrip SKIPPED 1090s ../build.vXv/src/datalad_next/patches/tests/test_run.py::test_substitution_config_default Traceback (most recent call last): 1090s File "", line 1, in 1090s NameError: name 'breakage' is not defined 1090s PASSED 1090s ../build.vXv/src/datalad_next/patches/tests/test_sshremoteio.py::test_sshremoteio SKIPPED 1090s ../build.vXv/src/datalad_next/patches/tests/test_sshremoteio.py::test_sshremoteio_7z SKIPPED 1091s ../build.vXv/src/datalad_next/repo_utils/tests/test_annex.py::test_has_initialized_annex PASSED 1091s ../build.vXv/src/datalad_next/repo_utils/tests/test_annex.py::test_no_initialized_annex PASSED 1091s ../build.vXv/src/datalad_next/repo_utils/tests/test_head.py::test_get_worktree_head Initialized empty Git repository in /tmp/pytest-of-ubuntu/pytest-0/test_get_worktree_head0/reponohead/.git/ 1091s PASSED 1091s ../build.vXv/src/datalad_next/runners/tests/test_git.py::test_call_git git version 2.45.2 1091s git: 'notacommand' is not a git command. See 'git --help'. 1091s PASSED 1091s ../build.vXv/src/datalad_next/runners/tests/test_git.py::test_call_git_success git version 2.45.2 1091s git: 'notacommand' is not a git command. See 'git --help'. 1091s PASSED 1092s ../build.vXv/src/datalad_next/runners/tests/test_git.py::test_call_git_lines PASSED 1092s ../build.vXv/src/datalad_next/runners/tests/test_git.py::test_call_git_oneline PASSED 1092s ../build.vXv/src/datalad_next/runners/tests/test_git.py::test_iter_git_subproc PASSED 1092s ../build.vXv/src/datalad_next/runners/tests/test_iter_subproc.py::test_iter_subproc_cwd PASSED 1092s ../build.vXv/src/datalad_next/shell/tests/test_response_generators.py::test_unknown_state_detection_in_variable PASSED 1092s ../build.vXv/src/datalad_next/shell/tests/test_response_generators.py::test_unknown_state_detection PASSED 1092s ../build.vXv/src/datalad_next/shell/tests/test_response_generators.py::test_trailing_content_detection_in_variable PASSED 1092s ../build.vXv/src/datalad_next/shell/tests/test_response_generators.py::test_trailing_content_detection_in_fixed PASSED 1092s ../build.vXv/src/datalad_next/shell/tests/test_response_generators.py::test_trailing_content_detection_in_download PASSED 1092s ../build.vXv/src/datalad_next/shell/tests/test_shell.py::test_basic_functionality[/etc/passwd] SKIPPED 1092s ../build.vXv/src/datalad_next/shell/tests/test_shell.py::test_basic_functionality[/etc/shells] SKIPPED 1092s ../build.vXv/src/datalad_next/shell/tests/test_shell.py::test_basic_functionality_multi SKIPPED 1092s ../build.vXv/src/datalad_next/shell/tests/test_shell.py::test_return_code_functionality SKIPPED 1092s ../build.vXv/src/datalad_next/shell/tests/test_shell.py::test_stdout_forwarding[echo 0123456789-0123456789\n] SKIPPED 1092s ../build.vXv/src/datalad_next/shell/tests/test_shell.py::test_stdout_forwarding[echo -n 0123456789-0123456789] SKIPPED 1092s ../build.vXv/src/datalad_next/shell/tests/test_shell.py::test_stdout_forwarding_multi SKIPPED 1092s ../build.vXv/src/datalad_next/shell/tests/test_shell.py::test_exit_if_unlimited_stdin_is_closed SKIPPED 1092s ../build.vXv/src/datalad_next/shell/tests/test_shell.py::test_continuation_after_stdin_reading SKIPPED 1092s ../build.vXv/src/datalad_next/shell/tests/test_shell.py::test_upload SKIPPED 1092s ../build.vXv/src/datalad_next/shell/tests/test_shell.py::test_download_ssh SKIPPED 1092s ../build.vXv/src/datalad_next/shell/tests/test_shell.py::test_download_local_bash PASSED 1092s ../build.vXv/src/datalad_next/shell/tests/test_shell.py::test_upload_local_bash PASSED 1092s ../build.vXv/src/datalad_next/shell/tests/test_shell.py::test_upload_local_bash_error PASSED 1092s ../build.vXv/src/datalad_next/shell/tests/test_shell.py::test_delete SKIPPED 1092s ../build.vXv/src/datalad_next/shell/tests/test_shell.py::test_delete_error SKIPPED 1092s ../build.vXv/src/datalad_next/shell/tests/test_shell.py::test_returncode PASSED 1092s ../build.vXv/src/datalad_next/shell/tests/test_shell.py::test_powershell_basic SKIPPED 1092s ../build.vXv/src/datalad_next/shell/tests/test_shell.py::test_powershell_repr SKIPPED 1092s ../build.vXv/src/datalad_next/shell/tests/test_shell.py::test_posix_repr PASSED 1092s ../build.vXv/src/datalad_next/shell/tests/test_shell.py::test_variable_length_reuse PASSED 1092s ../build.vXv/src/datalad_next/shell/tests/test_shell.py::test_bad_zero_command PASSED 1092s ../build.vXv/src/datalad_next/shell/tests/test_shell.py::test_fixed_length_response_generator_bash PASSED 1092s ../build.vXv/src/datalad_next/shell/tests/test_shell.py::test_fixed_length_response_generator_powershell SKIPPED 1092s ../build.vXv/src/datalad_next/shell/tests/test_shell.py::test_download_length_error PASSED 1092s ../build.vXv/src/datalad_next/shell/tests/test_shell.py::test_download_error PASSED 1092s ../build.vXv/src/datalad_next/tests/test_common_cfg.py::test_annexretry PASSED 1092s ../build.vXv/src/datalad_next/tests/test_register.py::test_register PASSED 1092s ../build.vXv/src/datalad_next/tests/test_testutils.py::test_serve_webdav_fixture SKIPPED 1092s ../build.vXv/src/datalad_next/types/tests/test_annexkey.py::test_annexkey PASSED 1092s ../build.vXv/src/datalad_next/types/tests/test_annexkey.py::test_annexkey_errors PASSED 1092s ../build.vXv/src/datalad_next/types/tests/test_archivist.py::test_archivistlocator PASSED 1092s ../build.vXv/src/datalad_next/types/tests/test_archivist.py::test_archivistlocatori_errors PASSED 1092s ../build.vXv/src/datalad_next/url_operations/tests/test_any.py::test_get_best_url_handler PASSED 1092s ../build.vXv/src/datalad_next/url_operations/tests/test_any.py::test_any_url_operations PASSED 1092s ../build.vXv/src/datalad_next/url_operations/tests/test_file.py::test_file_url_download PASSED 1092s ../build.vXv/src/datalad_next/url_operations/tests/test_file.py::test_file_url_upload PASSED 1092s ../build.vXv/src/datalad_next/url_operations/tests/test_file.py::test_file_url_delete PASSED 1092s ../build.vXv/src/datalad_next/url_operations/tests/test_http.py::test_http_url_operations SKIPPED 1092s ../build.vXv/src/datalad_next/url_operations/tests/test_http.py::test_custom_http_headers_via_config PASSED 1092s ../build.vXv/src/datalad_next/url_operations/tests/test_http.py::test_transparent_decompression SKIPPED 1092s ../build.vXv/src/datalad_next/url_operations/tests/test_http.py::test_compressed_file_stay_compressed SKIPPED 1092s ../build.vXv/src/datalad_next/url_operations/tests/test_http.py::test_size_less_progress_reporting ../build.vXv/src/datalad_next/url_operations/tests/test_http.py::test_header_adding PASSED 1092s ../build.vXv/src/datalad_next/url_operations/tests/test_ssh.py::test_ssh_url_download SKIPPED 1092s ../build.vXv/src/datalad_next/url_operations/tests/test_ssh.py::test_ssh_url_upload SKIPPED 1092s ../build.vXv/src/datalad_next/url_operations/tests/test_ssh.py::test_ssh_url_upload_from_stdin SKIPPED 1093s ../build.vXv/src/datalad_next/url_operations/tests/test_ssh.py::test_ssh_url_upload_timeout PASSED 1093s ../build.vXv/src/datalad_next/url_operations/tests/test_ssh.py::test_check_return_code PASSED 1093s ../build.vXv/src/datalad_next/utils/tests/test_deprecated.py::test_deprecated PASSED 1093s ../build.vXv/src/datalad_next/utils/tests/test_multihash.py::test_multihash PASSED 1093s ../build.vXv/src/datalad_next/utils/tests/test_multihash.py::test_noophash PASSED 1093s ../build.vXv/src/datalad_next/utils/tests/test_paramdictator.py::test_paramdictator PASSED 1093s ../build.vXv/src/datalad_next/utils/tests/test_parse_www_authenticate.py::test_parse_www_authenticate PASSED 1094s ../build.vXv/src/datalad_next/utils/tests/test_patch.py::test_patched_env PASSEDVersions: annexremote=1.6.4 boto3=1.34.46 cmd:7z=24.08 cmd:annex=10.20240927 cmd:bundled-git=UNKNOWN cmd:git=2.45.2 cmd:ssh=9.7p1 cmd:system-git=2.45.2 cmd:system-ssh=9.7p1 datalad=1.1.3 humanize=4.11.0 iso8601=2.1.0 keyring=25.4.1 keyrings.alt=5.0.2 msgpack=1.0.3 platformdirs=4.3.6 requests=2.32.3 1094s Obscure filename: str=b' |;&%b5{}\'"<> .datc ' repr=' |;&%b5{}\'"<> .datc ' 1094s Encodings: default='utf-8' filesystem='utf-8' locale.prefered='UTF-8' 1094s Environment: LANG='C.UTF-8' GIT_AUTHOR_EMAIL='debian@datalad.org' GIT_AUTHOR_NAME='debian' PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin' GIT_CONFIG_PARAMETERS="'init.defaultBranch=dl-test-branch' 'clone.defaultRemoteName=dl-test-remote'" PYTHON_KEYRING_BACKEND='keyrings.alt.file.PlaintextKeyring' GIT_CONFIG_GLOBAL='/tmp/datalad_temp_l_39ip2s/.gitconfig' GIT_ASKPASS='true' GIT_CONFIG_KEY_0='datalad.tests.nonetwork' GIT_CONFIG_VALUE_0='1' GIT_CONFIG_KEY_1='datalad.datasets.topurl' GIT_CONFIG_VALUE_1='https://datasets-tests.datalad.org/' GIT_CONFIG_KEY_2='bogusdataladtestsec.subsec' GIT_CONFIG_VALUE_2='unique' GIT_CONFIG_COUNT='3' 1094s 1094s 1094s ==================================== ERRORS ==================================== 1094s __________________ ERROR at setup of test_archivist_retrieval __________________ 1094s 1094s self = AnnexRepo('/tmp/pytest-of-ubuntu/pytest-0/archivistds0/archiveds') 1094s args = ['addurl', '--file', '/tmp/pytest-of-ubuntu/pytest-0/archivistds0/archiveds/.archives/myarchive.tar.gz', 'file:///tmp/pytest-of-ubuntu/pytest-0/archivistds1/myarchive.tar.gz'] 1094s files = None, jobs = None 1094s protocol = 1094s git_options = None, stdin = None, merge_annex_branches = True, kwargs = {} 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s runner = 1094s env = None 1094s out_of_space_re = 1094s 1094s def _call_annex(self, args, files=None, jobs=None, protocol=StdOutErrCapture, 1094s git_options=None, stdin=None, merge_annex_branches=True, 1094s **kwargs): 1094s """Internal helper to run git-annex commands 1094s 1094s Standard command options are applied in addition to the given arguments, 1094s and certain error conditions are detected (if possible) and dedicated 1094s exceptions are raised. 1094s 1094s Parameters 1094s ---------- 1094s args: list 1094s List of git-annex command arguments. 1094s files: list, optional 1094s If command passes list of files. If list is too long 1094s (by number of files or overall size) it will be split, and multiple 1094s command invocations will follow 1094s jobs : int or 'auto', optional 1094s If 'auto', the number of jobs will be determined automatically, 1094s informed by the configuration setting 1094s 'datalad.runtime.max-annex-jobs'. 1094s protocol : WitlessProtocol, optional 1094s Protocol class to pass to GitWitlessRunner.run(). By default this is 1094s StdOutErrCapture, which will provide default logging behavior and 1094s guarantee that stdout/stderr are included in potential CommandError 1094s exception. 1094s git_options: list, optional 1094s Additional arguments for Git to include in the git-annex call 1094s (in a position prior to the 'annex' subcommand. 1094s stdin: File-like, optional 1094s stdin to connect to the git-annex process. Only used when `files` 1094s is None. 1094s merge_annex_branches: bool, optional 1094s If False, annex.merge-annex-branches=false config will be set for 1094s git-annex call. Useful for operations which are not intended to 1094s benefit from updating information about remote git-annexes 1094s **kwargs: 1094s Additional arguments are passed on to the WitlessProtocol constructor 1094s 1094s Returns 1094s ------- 1094s dict 1094s Return value of WitlessRunner.run(). The content of the dict is 1094s determined by the given `protocol`. By default, it provides git-annex's 1094s stdout and stderr (under these key names) 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s If the call exits with a non-zero status. 1094s 1094s OutOfSpaceError 1094s If a corresponding statement was detected in git-annex's output on 1094s stderr. Only supported if the given protocol captured stderr. 1094s 1094s RemoteNotAvailableError 1094s If a corresponding statement was detected in git-annex's output on 1094s stderr. Only supported if the given protocol captured stderr. 1094s """ 1094s if self.git_annex_version is None: 1094s self._check_git_annex_version() 1094s 1094s # git portion of the command 1094s cmd = ['git'] + self._ANNEX_GIT_COMMON_OPTIONS 1094s 1094s if git_options: 1094s cmd += git_options 1094s 1094s if not self.always_commit: 1094s cmd += ['-c', 'annex.alwayscommit=false'] 1094s 1094s if not merge_annex_branches: 1094s cmd += ['-c', 'annex.merge-annex-branches=false'] 1094s 1094s # annex portion of the command 1094s cmd.append('annex') 1094s cmd += args 1094s 1094s if lgr.getEffectiveLevel() <= 8: 1094s cmd.append('--debug') 1094s 1094s if self._annex_common_options: 1094s cmd += self._annex_common_options 1094s 1094s if jobs == 'auto': 1094s # Limit to # of CPUs (but at least 3 to start with) 1094s # and also an additional config constraint (by default 1 1094s # due to https://github.com/datalad/datalad/issues/4404) 1094s jobs = self._n_auto_jobs or min( 1094s self.config.obtain('datalad.runtime.max-annex-jobs'), 1094s max(3, cpu_count())) 1094s # cache result to avoid repeated calls to cpu_count() 1094s self._n_auto_jobs = jobs 1094s if jobs and jobs != 1: 1094s cmd.append('-J%d' % jobs) 1094s 1094s runner = self._git_runner 1094s env = None 1094s if self.fake_dates_enabled: 1094s env = self.add_fake_dates(runner.env) 1094s 1094s try: 1094s if files: 1094s if issubclass(protocol, GeneratorMixIn): 1094s return runner.run_on_filelist_chunks_items_( 1094s cmd, 1094s files, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s else: 1094s return runner.run_on_filelist_chunks( 1094s cmd, 1094s files, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s else: 1094s > return runner.run( 1094s cmd, 1094s stdin=stdin, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:997: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s protocol = , stdin = None 1094s cwd = None, env = None, timeout = None, exception_on_error = True, kwargs = {} 1094s applied_cwd = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/archivistds0/archiveds') 1094s applied_env = {'ADTTMP': '/tmp/autopkgtest.WXFAly/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-ar...: 'python-psutil/5.9.8-2build3', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-artifacts', ...} 1094s threaded_runner = 1094s results_or_iterator = {'code': 1, 'stderr': ' not enough free space, need 100 MB more (use --force to override this check or adjust annex.d...addurl: 1 failed\n', 'stdout': 'addurl file:///tmp/pytest-of-ubuntu/pytest-0/archivistds1/myarchive.tar.gz \nfailed\n'} 1094s results = {'code': 1, 'stderr': ' not enough free space, need 100 MB more (use --force to override this check or adjust annex.d...addurl: 1 failed\n', 'stdout': 'addurl file:///tmp/pytest-of-ubuntu/pytest-0/archivistds1/myarchive.tar.gz \nfailed\n'} 1094s return_code = 1 1094s 1094s def run(self, 1094s cmd: list | str, 1094s protocol: type[WitlessProtocol] | None = None, 1094s stdin: bytes | IO | Queue | None = None, 1094s cwd: PathLike | str | None = None, 1094s env: dict | None = None, 1094s timeout: float | None = None, 1094s exception_on_error: bool = True, 1094s **kwargs) -> dict | _ResultGenerator: 1094s """Execute a command and communicate with it. 1094s 1094s Parameters 1094s ---------- 1094s cmd : list or str 1094s Sequence of program arguments. Passing a single string causes 1094s execution via the platform shell. 1094s protocol : WitlessProtocol, optional 1094s Protocol class handling interaction with the running process 1094s (e.g. output capture). A number of pre-crafted classes are 1094s provided (e.g `KillOutput`, `NoCapture`, `GitProgress`). 1094s If the protocol has the GeneratorMixIn-mixin, the run-method 1094s will return an iterator and can therefore be used in a for-clause. 1094s stdin : file-like, bytes, Queue, or None 1094s If stdin is a file-like, it will be directly used as stdin for the 1094s subprocess. The caller is responsible for writing to it and closing it. 1094s If stdin is a bytes, it will be fed to stdin of the subprocess. 1094s If all data is written, stdin will be closed. 1094s If stdin is a Queue, all elements (bytes) put into the Queue will 1094s be passed to stdin until None is read from the queue. If None is read, 1094s stdin of the subprocess is closed. 1094s cwd : str or path-like, optional 1094s If given, commands are executed with this path as PWD, 1094s the PWD of the parent process is used otherwise. Overrides 1094s any `cwd` given to the constructor. 1094s env : dict, optional 1094s Environment to be used for command execution. If given, it will 1094s completely replace any environment provided to theconstructor. If 1094s `cwd` is given, 'PWD' in the environment is set to its value. 1094s This must be a complete environment definition, no values 1094s from the current environment will be inherited. Overrides 1094s any `env` given to the constructor. 1094s timeout: float, optional 1094s None or the seconds after which a timeout callback is 1094s invoked, if no progress was made in communicating with 1094s the sub-process, or if waiting for the subprocess exit 1094s took more than the specified time. See the protocol and 1094s `ThreadedRunner` descriptions for a more detailed discussion 1094s on timeouts. 1094s exception_on_error : bool, optional 1094s This argument is first interpreted if the protocol is a subclass 1094s of `GeneratorMixIn`. If it is `True` (default), a 1094s `CommandErrorException` is raised by the generator if the 1094s sub process exited with a return code not equal to zero. If the 1094s parameter is `False`, no exception is raised. In both cases the 1094s return code can be read from the attribute `return_code` of 1094s the generator. Then this argument interpreted within this function 1094s to not raise `CommandError` if value is False in case of non-0 exit. 1094s kwargs : 1094s Passed to the Protocol class constructor. 1094s 1094s Returns 1094s ------- 1094s dict | _ResultGenerator 1094s 1094s If the protocol is not a subclass of `GeneratorMixIn`, the 1094s result of protocol._prepare_result will be returned. 1094s 1094s If the protocol is a subclass of `GeneratorMixIn`, a Generator, i.e. 1094s a `_ResultGenerator`, will be returned. This allows to use this 1094s method in constructs like: 1094s 1094s for protocol_output in runner.run(): 1094s ... 1094s 1094s Where the iterator yields whatever protocol.pipe_data_received 1094s sends into the generator. 1094s If all output was yielded and the process has terminated, the 1094s generator will raise StopIteration(return_code), where 1094s return_code is the return code of the process. The return code 1094s of the process will also be stored in the "return_code"-attribute 1094s of the runner. So you could write: 1094s 1094s gen = runner.run() 1094s for file_descriptor, data in gen: 1094s ... 1094s 1094s # get the return code of the process 1094s result = gen.return_code 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s On execution failure (non-zero exit code) this exception is 1094s raised which provides the command (cmd), stdout, stderr, 1094s exit code (status), and a message identifying the failed 1094s command, as properties. 1094s FileNotFoundError 1094s When a given executable does not exist. 1094s """ 1094s if protocol is None: 1094s # by default let all subprocess stream pass through 1094s protocol = NoCapture 1094s 1094s applied_cwd = cwd or self.cwd 1094s applied_env = self._get_adjusted_env( 1094s env=env or self.env, 1094s cwd=applied_cwd, 1094s ) 1094s 1094s lgr.debug( 1094s 'Run %r (protocol_class=%s) (cwd=%s)', 1094s cmd, 1094s protocol.__name__, 1094s applied_cwd 1094s ) 1094s 1094s threaded_runner = ThreadedRunner( 1094s cmd=cmd, 1094s protocol_class=protocol, 1094s stdin=stdin, 1094s protocol_kwargs=kwargs, 1094s timeout=timeout, 1094s exception_on_error=exception_on_error, 1094s cwd=applied_cwd, 1094s env=applied_env 1094s ) 1094s 1094s results_or_iterator = threaded_runner.run() 1094s if issubclass(protocol, GeneratorMixIn): 1094s return results_or_iterator 1094s 1094s results = cast(dict, results_or_iterator) 1094s # log before any exception is raised 1094s lgr.debug("Finished %r with status %s", cmd, results['code']) 1094s 1094s # make it such that we always blow if a protocol did not report 1094s # a return code at all or it was non-0 and we were not asked ignore 1094s # errors 1094s return_code = results.get('code', None) 1094s if return_code is None or (return_code and exception_on_error): 1094s # the runner has a better idea, doc string warns Protocol 1094s # implementations not to return these 1094s results.pop('cmd', None) 1094s results.pop('cwd', None) 1094s > raise CommandError( 1094s # whatever the results were, we carry them forward 1094s cmd=cmd, 1094s cwd=applied_cwd, 1094s **results, 1094s ) 1094s E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false annex addurl --file /tmp/pytest-of-ubuntu/pytest-0/archivistds0/archiveds/.archives/myarchive.tar.gz file:///tmp/pytest-of-ubuntu/pytest-0/archivistds1/myarchive.tar.gz -c annex.dotfiles=true' failed with exitcode 1 under /tmp/pytest-of-ubuntu/pytest-0/archivistds0/archiveds [out: 'addurl file:///tmp/pytest-of-ubuntu/pytest-0/archivistds1/myarchive.tar.gz 1094s E failed'] [err: 'not enough free space, need 100 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E addurl: 1 failed'] 1094s 1094s /usr/lib/python3/dist-packages/datalad/runner/runner.py:242: CommandError 1094s 1094s During handling of the above exception, another exception occurred: 1094s 1094s archivist_dataset = Dataset('/tmp/pytest-of-ubuntu/pytest-0/archivistds0/archiveds') 1094s tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-ubuntu/pytest-0'), _retention_count=3, _retention_policy='all') 1094s no_result_rendering = None 1094s 1094s @pytest.fixture(autouse=False, scope="function") 1094s def populated_archivist_dataset( 1094s archivist_dataset, tmp_path_factory, no_result_rendering): 1094s """Returns a path to generated dataset 1094s 1094s This dataset references an annex archive with no other annexed files. 1094s The datalad special remote 'archivist' is enabled in the dataset and 1094s also set to autoenable. 1094s 1094s Returns 1094s ------- 1094s Dataset, str, str, tuple(tuples) 1094s 1. generated dataset instance 1094s 2. the annex key for the included archive 1094s 3. the leading directory of all files in the archive 1094s 4. iterable with POSIX-path:content pairs for archive members. 1094s The path is relative to the leading archive directory, and 1094s can also be interpreted relative to the dataset root. 1094s """ 1094s wpath = tmp_path_factory.mktemp("archivistds") 1094s 1094s ads = archivist_dataset 1094s 1094s dscontent = ( 1094s ('azip/file1.txt', 'zipfile1'), 1094s ('azip/file2.csv', 'zipfile2_muchcontent'), 1094s ('atar/file1.txt', 'tarfile1'), 1094s ('atar/file2.csv', 'tarfile2_muchcontent'), 1094s ) 1094s srcds = Dataset(wpath / 'srcds').create() 1094s for fpath, fcontent in dscontent: 1094s fpath = srcds.pathobj / (PurePosixPath(fpath)) 1094s fpath.parent.mkdir(parents=True, exist_ok=True) 1094s fpath.write_text(fcontent) 1094s srcds.save() 1094s 1094s archive_root = wpath / 'myarchive' 1094s #archivetype = 'zip' 1094s 1094s akeys = {} 1094s 1094s # no ZIP just yet 1094s # for archivetype, ext in (('zip', ''), ('tar', '.gz')): 1094s for archivetype, ext in (('tar', '.gz'), ): 1094s archive_path = Path(f"{archive_root}.{archivetype}{ext}") 1094s 1094s archive_path_inds = ads.pathobj / '.archives' / archive_path.name 1094s # create an archive, the easy way, by simply exporting the 1094s # entire dataset worktree 1094s srcds.export_archive(archive_root, archivetype=archivetype) 1094s assert archive_path.exists() 1094s 1094s # add the archive (in a hidden dir) to be able to reference 1094s # it via a key 1094s aurl = archive_path.as_uri() 1094s > ads.repo.call_annex([ 1094s 'addurl', '--file', str(archive_path_inds), aurl]) 1094s 1094s ../build.vXv/src/datalad_next/annexremotes/tests/test_archivist.py:86: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1318: in call_annex 1094s return self._call_annex( 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = AnnexRepo('/tmp/pytest-of-ubuntu/pytest-0/archivistds0/archiveds') 1094s args = ['addurl', '--file', '/tmp/pytest-of-ubuntu/pytest-0/archivistds0/archiveds/.archives/myarchive.tar.gz', 'file:///tmp/pytest-of-ubuntu/pytest-0/archivistds1/myarchive.tar.gz'] 1094s files = None, jobs = None 1094s protocol = 1094s git_options = None, stdin = None, merge_annex_branches = True, kwargs = {} 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s runner = 1094s env = None 1094s out_of_space_re = 1094s 1094s def _call_annex(self, args, files=None, jobs=None, protocol=StdOutErrCapture, 1094s git_options=None, stdin=None, merge_annex_branches=True, 1094s **kwargs): 1094s """Internal helper to run git-annex commands 1094s 1094s Standard command options are applied in addition to the given arguments, 1094s and certain error conditions are detected (if possible) and dedicated 1094s exceptions are raised. 1094s 1094s Parameters 1094s ---------- 1094s args: list 1094s List of git-annex command arguments. 1094s files: list, optional 1094s If command passes list of files. If list is too long 1094s (by number of files or overall size) it will be split, and multiple 1094s command invocations will follow 1094s jobs : int or 'auto', optional 1094s If 'auto', the number of jobs will be determined automatically, 1094s informed by the configuration setting 1094s 'datalad.runtime.max-annex-jobs'. 1094s protocol : WitlessProtocol, optional 1094s Protocol class to pass to GitWitlessRunner.run(). By default this is 1094s StdOutErrCapture, which will provide default logging behavior and 1094s guarantee that stdout/stderr are included in potential CommandError 1094s exception. 1094s git_options: list, optional 1094s Additional arguments for Git to include in the git-annex call 1094s (in a position prior to the 'annex' subcommand. 1094s stdin: File-like, optional 1094s stdin to connect to the git-annex process. Only used when `files` 1094s is None. 1094s merge_annex_branches: bool, optional 1094s If False, annex.merge-annex-branches=false config will be set for 1094s git-annex call. Useful for operations which are not intended to 1094s benefit from updating information about remote git-annexes 1094s **kwargs: 1094s Additional arguments are passed on to the WitlessProtocol constructor 1094s 1094s Returns 1094s ------- 1094s dict 1094s Return value of WitlessRunner.run(). The content of the dict is 1094s determined by the given `protocol`. By default, it provides git-annex's 1094s stdout and stderr (under these key names) 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s If the call exits with a non-zero status. 1094s 1094s OutOfSpaceError 1094s If a corresponding statement was detected in git-annex's output on 1094s stderr. Only supported if the given protocol captured stderr. 1094s 1094s RemoteNotAvailableError 1094s If a corresponding statement was detected in git-annex's output on 1094s stderr. Only supported if the given protocol captured stderr. 1094s """ 1094s if self.git_annex_version is None: 1094s self._check_git_annex_version() 1094s 1094s # git portion of the command 1094s cmd = ['git'] + self._ANNEX_GIT_COMMON_OPTIONS 1094s 1094s if git_options: 1094s cmd += git_options 1094s 1094s if not self.always_commit: 1094s cmd += ['-c', 'annex.alwayscommit=false'] 1094s 1094s if not merge_annex_branches: 1094s cmd += ['-c', 'annex.merge-annex-branches=false'] 1094s 1094s # annex portion of the command 1094s cmd.append('annex') 1094s cmd += args 1094s 1094s if lgr.getEffectiveLevel() <= 8: 1094s cmd.append('--debug') 1094s 1094s if self._annex_common_options: 1094s cmd += self._annex_common_options 1094s 1094s if jobs == 'auto': 1094s # Limit to # of CPUs (but at least 3 to start with) 1094s # and also an additional config constraint (by default 1 1094s # due to https://github.com/datalad/datalad/issues/4404) 1094s jobs = self._n_auto_jobs or min( 1094s self.config.obtain('datalad.runtime.max-annex-jobs'), 1094s max(3, cpu_count())) 1094s # cache result to avoid repeated calls to cpu_count() 1094s self._n_auto_jobs = jobs 1094s if jobs and jobs != 1: 1094s cmd.append('-J%d' % jobs) 1094s 1094s runner = self._git_runner 1094s env = None 1094s if self.fake_dates_enabled: 1094s env = self.add_fake_dates(runner.env) 1094s 1094s try: 1094s if files: 1094s if issubclass(protocol, GeneratorMixIn): 1094s return runner.run_on_filelist_chunks_items_( 1094s cmd, 1094s files, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s else: 1094s return runner.run_on_filelist_chunks( 1094s cmd, 1094s files, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s else: 1094s return runner.run( 1094s cmd, 1094s stdin=stdin, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s except CommandError as e: 1094s # Note: A call might result in several 'failures', that can be or 1094s # cannot be handled here. Detection of something, we can deal with, 1094s # doesn't mean there's nothing else to deal with. 1094s 1094s # OutOfSpaceError: 1094s # Note: 1094s # doesn't depend on anything in stdout. Therefore check this before 1094s # dealing with stdout 1094s out_of_space_re = re.search( 1094s "not enough free space, need (.*) more", e.stderr 1094s ) 1094s if out_of_space_re: 1094s > raise OutOfSpaceError(cmd=['annex'] + args, 1094s sizemore_msg=out_of_space_re.groups()[0]) 1094s E datalad.support.exceptions.OutOfSpaceError: OutOfSpaceError: 'annex addurl --file /tmp/pytest-of-ubuntu/pytest-0/archivistds0/archiveds/.archives/myarchive.tar.gz file:///tmp/pytest-of-ubuntu/pytest-0/archivistds1/myarchive.tar.gz' needs 100 MB more 1094s 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1016: OutOfSpaceError 1094s ------------------------------ Captured log setup ------------------------------ 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/pytest-of-ubuntu/pytest-0/archivistds1/srcds 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s ______________ ERROR at setup of test_archivist_retrieval_legacy _______________ 1094s 1094s self = AnnexRepo('/tmp/pytest-of-ubuntu/pytest-0/archivistds2/archiveds') 1094s args = ['addurl', '--file', '/tmp/pytest-of-ubuntu/pytest-0/archivistds2/archiveds/.archives/myarchive.tar.gz', 'file:///tmp/pytest-of-ubuntu/pytest-0/archivistds3/myarchive.tar.gz'] 1094s files = None, jobs = None 1094s protocol = 1094s git_options = None, stdin = None, merge_annex_branches = True, kwargs = {} 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s runner = 1094s env = None 1094s out_of_space_re = 1094s 1094s def _call_annex(self, args, files=None, jobs=None, protocol=StdOutErrCapture, 1094s git_options=None, stdin=None, merge_annex_branches=True, 1094s **kwargs): 1094s """Internal helper to run git-annex commands 1094s 1094s Standard command options are applied in addition to the given arguments, 1094s and certain error conditions are detected (if possible) and dedicated 1094s exceptions are raised. 1094s 1094s Parameters 1094s ---------- 1094s args: list 1094s List of git-annex command arguments. 1094s files: list, optional 1094s If command passes list of files. If list is too long 1094s (by number of files or overall size) it will be split, and multiple 1094s command invocations will follow 1094s jobs : int or 'auto', optional 1094s If 'auto', the number of jobs will be determined automatically, 1094s informed by the configuration setting 1094s 'datalad.runtime.max-annex-jobs'. 1094s protocol : WitlessProtocol, optional 1094s Protocol class to pass to GitWitlessRunner.run(). By default this is 1094s StdOutErrCapture, which will provide default logging behavior and 1094s guarantee that stdout/stderr are included in potential CommandError 1094s exception. 1094s git_options: list, optional 1094s Additional arguments for Git to include in the git-annex call 1094s (in a position prior to the 'annex' subcommand. 1094s stdin: File-like, optional 1094s stdin to connect to the git-annex process. Only used when `files` 1094s is None. 1094s merge_annex_branches: bool, optional 1094s If False, annex.merge-annex-branches=false config will be set for 1094s git-annex call. Useful for operations which are not intended to 1094s benefit from updating information about remote git-annexes 1094s **kwargs: 1094s Additional arguments are passed on to the WitlessProtocol constructor 1094s 1094s Returns 1094s ------- 1094s dict 1094s Return value of WitlessRunner.run(). The content of the dict is 1094s determined by the given `protocol`. By default, it provides git-annex's 1094s stdout and stderr (under these key names) 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s If the call exits with a non-zero status. 1094s 1094s OutOfSpaceError 1094s If a corresponding statement was detected in git-annex's output on 1094s stderr. Only supported if the given protocol captured stderr. 1094s 1094s RemoteNotAvailableError 1094s If a corresponding statement was detected in git-annex's output on 1094s stderr. Only supported if the given protocol captured stderr. 1094s """ 1094s if self.git_annex_version is None: 1094s self._check_git_annex_version() 1094s 1094s # git portion of the command 1094s cmd = ['git'] + self._ANNEX_GIT_COMMON_OPTIONS 1094s 1094s if git_options: 1094s cmd += git_options 1094s 1094s if not self.always_commit: 1094s cmd += ['-c', 'annex.alwayscommit=false'] 1094s 1094s if not merge_annex_branches: 1094s cmd += ['-c', 'annex.merge-annex-branches=false'] 1094s 1094s # annex portion of the command 1094s cmd.append('annex') 1094s cmd += args 1094s 1094s if lgr.getEffectiveLevel() <= 8: 1094s cmd.append('--debug') 1094s 1094s if self._annex_common_options: 1094s cmd += self._annex_common_options 1094s 1094s if jobs == 'auto': 1094s # Limit to # of CPUs (but at least 3 to start with) 1094s # and also an additional config constraint (by default 1 1094s # due to https://github.com/datalad/datalad/issues/4404) 1094s jobs = self._n_auto_jobs or min( 1094s self.config.obtain('datalad.runtime.max-annex-jobs'), 1094s max(3, cpu_count())) 1094s # cache result to avoid repeated calls to cpu_count() 1094s self._n_auto_jobs = jobs 1094s if jobs and jobs != 1: 1094s cmd.append('-J%d' % jobs) 1094s 1094s runner = self._git_runner 1094s env = None 1094s if self.fake_dates_enabled: 1094s env = self.add_fake_dates(runner.env) 1094s 1094s try: 1094s if files: 1094s if issubclass(protocol, GeneratorMixIn): 1094s return runner.run_on_filelist_chunks_items_( 1094s cmd, 1094s files, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s else: 1094s return runner.run_on_filelist_chunks( 1094s cmd, 1094s files, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s else: 1094s > return runner.run( 1094s cmd, 1094s stdin=stdin, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:997: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s protocol = , stdin = None 1094s cwd = None, env = None, timeout = None, exception_on_error = True, kwargs = {} 1094s applied_cwd = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/archivistds2/archiveds') 1094s applied_env = {'ADTTMP': '/tmp/autopkgtest.WXFAly/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-ar...: 'python-psutil/5.9.8-2build3', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-artifacts', ...} 1094s threaded_runner = 1094s results_or_iterator = {'code': 1, 'stderr': ' not enough free space, need 100 MB more (use --force to override this check or adjust annex.d...addurl: 1 failed\n', 'stdout': 'addurl file:///tmp/pytest-of-ubuntu/pytest-0/archivistds3/myarchive.tar.gz \nfailed\n'} 1094s results = {'code': 1, 'stderr': ' not enough free space, need 100 MB more (use --force to override this check or adjust annex.d...addurl: 1 failed\n', 'stdout': 'addurl file:///tmp/pytest-of-ubuntu/pytest-0/archivistds3/myarchive.tar.gz \nfailed\n'} 1094s return_code = 1 1094s 1094s def run(self, 1094s cmd: list | str, 1094s protocol: type[WitlessProtocol] | None = None, 1094s stdin: bytes | IO | Queue | None = None, 1094s cwd: PathLike | str | None = None, 1094s env: dict | None = None, 1094s timeout: float | None = None, 1094s exception_on_error: bool = True, 1094s **kwargs) -> dict | _ResultGenerator: 1094s """Execute a command and communicate with it. 1094s 1094s Parameters 1094s ---------- 1094s cmd : list or str 1094s Sequence of program arguments. Passing a single string causes 1094s execution via the platform shell. 1094s protocol : WitlessProtocol, optional 1094s Protocol class handling interaction with the running process 1094s (e.g. output capture). A number of pre-crafted classes are 1094s provided (e.g `KillOutput`, `NoCapture`, `GitProgress`). 1094s If the protocol has the GeneratorMixIn-mixin, the run-method 1094s will return an iterator and can therefore be used in a for-clause. 1094s stdin : file-like, bytes, Queue, or None 1094s If stdin is a file-like, it will be directly used as stdin for the 1094s subprocess. The caller is responsible for writing to it and closing it. 1094s If stdin is a bytes, it will be fed to stdin of the subprocess. 1094s If all data is written, stdin will be closed. 1094s If stdin is a Queue, all elements (bytes) put into the Queue will 1094s be passed to stdin until None is read from the queue. If None is read, 1094s stdin of the subprocess is closed. 1094s cwd : str or path-like, optional 1094s If given, commands are executed with this path as PWD, 1094s the PWD of the parent process is used otherwise. Overrides 1094s any `cwd` given to the constructor. 1094s env : dict, optional 1094s Environment to be used for command execution. If given, it will 1094s completely replace any environment provided to theconstructor. If 1094s `cwd` is given, 'PWD' in the environment is set to its value. 1094s This must be a complete environment definition, no values 1094s from the current environment will be inherited. Overrides 1094s any `env` given to the constructor. 1094s timeout: float, optional 1094s None or the seconds after which a timeout callback is 1094s invoked, if no progress was made in communicating with 1094s the sub-process, or if waiting for the subprocess exit 1094s took more than the specified time. See the protocol and 1094s `ThreadedRunner` descriptions for a more detailed discussion 1094s on timeouts. 1094s exception_on_error : bool, optional 1094s This argument is first interpreted if the protocol is a subclass 1094s of `GeneratorMixIn`. If it is `True` (default), a 1094s `CommandErrorException` is raised by the generator if the 1094s sub process exited with a return code not equal to zero. If the 1094s parameter is `False`, no exception is raised. In both cases the 1094s return code can be read from the attribute `return_code` of 1094s the generator. Then this argument interpreted within this function 1094s to not raise `CommandError` if value is False in case of non-0 exit. 1094s kwargs : 1094s Passed to the Protocol class constructor. 1094s 1094s Returns 1094s ------- 1094s dict | _ResultGenerator 1094s 1094s If the protocol is not a subclass of `GeneratorMixIn`, the 1094s result of protocol._prepare_result will be returned. 1094s 1094s If the protocol is a subclass of `GeneratorMixIn`, a Generator, i.e. 1094s a `_ResultGenerator`, will be returned. This allows to use this 1094s method in constructs like: 1094s 1094s for protocol_output in runner.run(): 1094s ... 1094s 1094s Where the iterator yields whatever protocol.pipe_data_received 1094s sends into the generator. 1094s If all output was yielded and the process has terminated, the 1094s generator will raise StopIteration(return_code), where 1094s return_code is the return code of the process. The return code 1094s of the process will also be stored in the "return_code"-attribute 1094s of the runner. So you could write: 1094s 1094s gen = runner.run() 1094s for file_descriptor, data in gen: 1094s ... 1094s 1094s # get the return code of the process 1094s result = gen.return_code 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s On execution failure (non-zero exit code) this exception is 1094s raised which provides the command (cmd), stdout, stderr, 1094s exit code (status), and a message identifying the failed 1094s command, as properties. 1094s FileNotFoundError 1094s When a given executable does not exist. 1094s """ 1094s if protocol is None: 1094s # by default let all subprocess stream pass through 1094s protocol = NoCapture 1094s 1094s applied_cwd = cwd or self.cwd 1094s applied_env = self._get_adjusted_env( 1094s env=env or self.env, 1094s cwd=applied_cwd, 1094s ) 1094s 1094s lgr.debug( 1094s 'Run %r (protocol_class=%s) (cwd=%s)', 1094s cmd, 1094s protocol.__name__, 1094s applied_cwd 1094s ) 1094s 1094s threaded_runner = ThreadedRunner( 1094s cmd=cmd, 1094s protocol_class=protocol, 1094s stdin=stdin, 1094s protocol_kwargs=kwargs, 1094s timeout=timeout, 1094s exception_on_error=exception_on_error, 1094s cwd=applied_cwd, 1094s env=applied_env 1094s ) 1094s 1094s results_or_iterator = threaded_runner.run() 1094s if issubclass(protocol, GeneratorMixIn): 1094s return results_or_iterator 1094s 1094s results = cast(dict, results_or_iterator) 1094s # log before any exception is raised 1094s lgr.debug("Finished %r with status %s", cmd, results['code']) 1094s 1094s # make it such that we always blow if a protocol did not report 1094s # a return code at all or it was non-0 and we were not asked ignore 1094s # errors 1094s return_code = results.get('code', None) 1094s if return_code is None or (return_code and exception_on_error): 1094s # the runner has a better idea, doc string warns Protocol 1094s # implementations not to return these 1094s results.pop('cmd', None) 1094s results.pop('cwd', None) 1094s > raise CommandError( 1094s # whatever the results were, we carry them forward 1094s cmd=cmd, 1094s cwd=applied_cwd, 1094s **results, 1094s ) 1094s E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false annex addurl --file /tmp/pytest-of-ubuntu/pytest-0/archivistds2/archiveds/.archives/myarchive.tar.gz file:///tmp/pytest-of-ubuntu/pytest-0/archivistds3/myarchive.tar.gz -c annex.dotfiles=true' failed with exitcode 1 under /tmp/pytest-of-ubuntu/pytest-0/archivistds2/archiveds [out: 'addurl file:///tmp/pytest-of-ubuntu/pytest-0/archivistds3/myarchive.tar.gz 1094s E failed'] [err: 'not enough free space, need 100 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E addurl: 1 failed'] 1094s 1094s /usr/lib/python3/dist-packages/datalad/runner/runner.py:242: CommandError 1094s 1094s During handling of the above exception, another exception occurred: 1094s 1094s archivist_dataset = Dataset('/tmp/pytest-of-ubuntu/pytest-0/archivistds2/archiveds') 1094s tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-ubuntu/pytest-0'), _retention_count=3, _retention_policy='all') 1094s no_result_rendering = None 1094s 1094s @pytest.fixture(autouse=False, scope="function") 1094s def populated_archivist_dataset( 1094s archivist_dataset, tmp_path_factory, no_result_rendering): 1094s """Returns a path to generated dataset 1094s 1094s This dataset references an annex archive with no other annexed files. 1094s The datalad special remote 'archivist' is enabled in the dataset and 1094s also set to autoenable. 1094s 1094s Returns 1094s ------- 1094s Dataset, str, str, tuple(tuples) 1094s 1. generated dataset instance 1094s 2. the annex key for the included archive 1094s 3. the leading directory of all files in the archive 1094s 4. iterable with POSIX-path:content pairs for archive members. 1094s The path is relative to the leading archive directory, and 1094s can also be interpreted relative to the dataset root. 1094s """ 1094s wpath = tmp_path_factory.mktemp("archivistds") 1094s 1094s ads = archivist_dataset 1094s 1094s dscontent = ( 1094s ('azip/file1.txt', 'zipfile1'), 1094s ('azip/file2.csv', 'zipfile2_muchcontent'), 1094s ('atar/file1.txt', 'tarfile1'), 1094s ('atar/file2.csv', 'tarfile2_muchcontent'), 1094s ) 1094s srcds = Dataset(wpath / 'srcds').create() 1094s for fpath, fcontent in dscontent: 1094s fpath = srcds.pathobj / (PurePosixPath(fpath)) 1094s fpath.parent.mkdir(parents=True, exist_ok=True) 1094s fpath.write_text(fcontent) 1094s srcds.save() 1094s 1094s archive_root = wpath / 'myarchive' 1094s #archivetype = 'zip' 1094s 1094s akeys = {} 1094s 1094s # no ZIP just yet 1094s # for archivetype, ext in (('zip', ''), ('tar', '.gz')): 1094s for archivetype, ext in (('tar', '.gz'), ): 1094s archive_path = Path(f"{archive_root}.{archivetype}{ext}") 1094s 1094s archive_path_inds = ads.pathobj / '.archives' / archive_path.name 1094s # create an archive, the easy way, by simply exporting the 1094s # entire dataset worktree 1094s srcds.export_archive(archive_root, archivetype=archivetype) 1094s assert archive_path.exists() 1094s 1094s # add the archive (in a hidden dir) to be able to reference 1094s # it via a key 1094s aurl = archive_path.as_uri() 1094s > ads.repo.call_annex([ 1094s 'addurl', '--file', str(archive_path_inds), aurl]) 1094s 1094s ../build.vXv/src/datalad_next/annexremotes/tests/test_archivist.py:86: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1318: in call_annex 1094s return self._call_annex( 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = AnnexRepo('/tmp/pytest-of-ubuntu/pytest-0/archivistds2/archiveds') 1094s args = ['addurl', '--file', '/tmp/pytest-of-ubuntu/pytest-0/archivistds2/archiveds/.archives/myarchive.tar.gz', 'file:///tmp/pytest-of-ubuntu/pytest-0/archivistds3/myarchive.tar.gz'] 1094s files = None, jobs = None 1094s protocol = 1094s git_options = None, stdin = None, merge_annex_branches = True, kwargs = {} 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s runner = 1094s env = None 1094s out_of_space_re = 1094s 1094s def _call_annex(self, args, files=None, jobs=None, protocol=StdOutErrCapture, 1094s git_options=None, stdin=None, merge_annex_branches=True, 1094s **kwargs): 1094s """Internal helper to run git-annex commands 1094s 1094s Standard command options are applied in addition to the given arguments, 1094s and certain error conditions are detected (if possible) and dedicated 1094s exceptions are raised. 1094s 1094s Parameters 1094s ---------- 1094s args: list 1094s List of git-annex command arguments. 1094s files: list, optional 1094s If command passes list of files. If list is too long 1094s (by number of files or overall size) it will be split, and multiple 1094s command invocations will follow 1094s jobs : int or 'auto', optional 1094s If 'auto', the number of jobs will be determined automatically, 1094s informed by the configuration setting 1094s 'datalad.runtime.max-annex-jobs'. 1094s protocol : WitlessProtocol, optional 1094s Protocol class to pass to GitWitlessRunner.run(). By default this is 1094s StdOutErrCapture, which will provide default logging behavior and 1094s guarantee that stdout/stderr are included in potential CommandError 1094s exception. 1094s git_options: list, optional 1094s Additional arguments for Git to include in the git-annex call 1094s (in a position prior to the 'annex' subcommand. 1094s stdin: File-like, optional 1094s stdin to connect to the git-annex process. Only used when `files` 1094s is None. 1094s merge_annex_branches: bool, optional 1094s If False, annex.merge-annex-branches=false config will be set for 1094s git-annex call. Useful for operations which are not intended to 1094s benefit from updating information about remote git-annexes 1094s **kwargs: 1094s Additional arguments are passed on to the WitlessProtocol constructor 1094s 1094s Returns 1094s ------- 1094s dict 1094s Return value of WitlessRunner.run(). The content of the dict is 1094s determined by the given `protocol`. By default, it provides git-annex's 1094s stdout and stderr (under these key names) 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s If the call exits with a non-zero status. 1094s 1094s OutOfSpaceError 1094s If a corresponding statement was detected in git-annex's output on 1094s stderr. Only supported if the given protocol captured stderr. 1094s 1094s RemoteNotAvailableError 1094s If a corresponding statement was detected in git-annex's output on 1094s stderr. Only supported if the given protocol captured stderr. 1094s """ 1094s if self.git_annex_version is None: 1094s self._check_git_annex_version() 1094s 1094s # git portion of the command 1094s cmd = ['git'] + self._ANNEX_GIT_COMMON_OPTIONS 1094s 1094s if git_options: 1094s cmd += git_options 1094s 1094s if not self.always_commit: 1094s cmd += ['-c', 'annex.alwayscommit=false'] 1094s 1094s if not merge_annex_branches: 1094s cmd += ['-c', 'annex.merge-annex-branches=false'] 1094s 1094s # annex portion of the command 1094s cmd.append('annex') 1094s cmd += args 1094s 1094s if lgr.getEffectiveLevel() <= 8: 1094s cmd.append('--debug') 1094s 1094s if self._annex_common_options: 1094s cmd += self._annex_common_options 1094s 1094s if jobs == 'auto': 1094s # Limit to # of CPUs (but at least 3 to start with) 1094s # and also an additional config constraint (by default 1 1094s # due to https://github.com/datalad/datalad/issues/4404) 1094s jobs = self._n_auto_jobs or min( 1094s self.config.obtain('datalad.runtime.max-annex-jobs'), 1094s max(3, cpu_count())) 1094s # cache result to avoid repeated calls to cpu_count() 1094s self._n_auto_jobs = jobs 1094s if jobs and jobs != 1: 1094s cmd.append('-J%d' % jobs) 1094s 1094s runner = self._git_runner 1094s env = None 1094s if self.fake_dates_enabled: 1094s env = self.add_fake_dates(runner.env) 1094s 1094s try: 1094s if files: 1094s if issubclass(protocol, GeneratorMixIn): 1094s return runner.run_on_filelist_chunks_items_( 1094s cmd, 1094s files, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s else: 1094s return runner.run_on_filelist_chunks( 1094s cmd, 1094s files, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s else: 1094s return runner.run( 1094s cmd, 1094s stdin=stdin, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s except CommandError as e: 1094s # Note: A call might result in several 'failures', that can be or 1094s # cannot be handled here. Detection of something, we can deal with, 1094s # doesn't mean there's nothing else to deal with. 1094s 1094s # OutOfSpaceError: 1094s # Note: 1094s # doesn't depend on anything in stdout. Therefore check this before 1094s # dealing with stdout 1094s out_of_space_re = re.search( 1094s "not enough free space, need (.*) more", e.stderr 1094s ) 1094s if out_of_space_re: 1094s > raise OutOfSpaceError(cmd=['annex'] + args, 1094s sizemore_msg=out_of_space_re.groups()[0]) 1094s E datalad.support.exceptions.OutOfSpaceError: OutOfSpaceError: 'annex addurl --file /tmp/pytest-of-ubuntu/pytest-0/archivistds2/archiveds/.archives/myarchive.tar.gz file:///tmp/pytest-of-ubuntu/pytest-0/archivistds3/myarchive.tar.gz' needs 100 MB more 1094s 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1016: OutOfSpaceError 1094s ------------------------------ Captured log setup ------------------------------ 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/pytest-of-ubuntu/pytest-0/archivistds3/srcds 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s =================================== FAILURES =================================== 1094s _________________________________ test_uncurl __________________________________ 1094s 1094s self = AnnexRepo('/tmp/pytest-of-ubuntu/pytest-0/dataset5') 1094s args = ['addurl', '--file', 'data_A1B2F1.dat', 'bingofile:///tmp/pytest-of-ubuntu/pytest-0/test_uncurl0/lvlA1/lvlB2_flavor1.tar'] 1094s files = None, jobs = None 1094s protocol = 1094s git_options = None, stdin = None, merge_annex_branches = True, kwargs = {} 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s runner = 1094s env = None 1094s out_of_space_re = 1094s 1094s def _call_annex(self, args, files=None, jobs=None, protocol=StdOutErrCapture, 1094s git_options=None, stdin=None, merge_annex_branches=True, 1094s **kwargs): 1094s """Internal helper to run git-annex commands 1094s 1094s Standard command options are applied in addition to the given arguments, 1094s and certain error conditions are detected (if possible) and dedicated 1094s exceptions are raised. 1094s 1094s Parameters 1094s ---------- 1094s args: list 1094s List of git-annex command arguments. 1094s files: list, optional 1094s If command passes list of files. If list is too long 1094s (by number of files or overall size) it will be split, and multiple 1094s command invocations will follow 1094s jobs : int or 'auto', optional 1094s If 'auto', the number of jobs will be determined automatically, 1094s informed by the configuration setting 1094s 'datalad.runtime.max-annex-jobs'. 1094s protocol : WitlessProtocol, optional 1094s Protocol class to pass to GitWitlessRunner.run(). By default this is 1094s StdOutErrCapture, which will provide default logging behavior and 1094s guarantee that stdout/stderr are included in potential CommandError 1094s exception. 1094s git_options: list, optional 1094s Additional arguments for Git to include in the git-annex call 1094s (in a position prior to the 'annex' subcommand. 1094s stdin: File-like, optional 1094s stdin to connect to the git-annex process. Only used when `files` 1094s is None. 1094s merge_annex_branches: bool, optional 1094s If False, annex.merge-annex-branches=false config will be set for 1094s git-annex call. Useful for operations which are not intended to 1094s benefit from updating information about remote git-annexes 1094s **kwargs: 1094s Additional arguments are passed on to the WitlessProtocol constructor 1094s 1094s Returns 1094s ------- 1094s dict 1094s Return value of WitlessRunner.run(). The content of the dict is 1094s determined by the given `protocol`. By default, it provides git-annex's 1094s stdout and stderr (under these key names) 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s If the call exits with a non-zero status. 1094s 1094s OutOfSpaceError 1094s If a corresponding statement was detected in git-annex's output on 1094s stderr. Only supported if the given protocol captured stderr. 1094s 1094s RemoteNotAvailableError 1094s If a corresponding statement was detected in git-annex's output on 1094s stderr. Only supported if the given protocol captured stderr. 1094s """ 1094s if self.git_annex_version is None: 1094s self._check_git_annex_version() 1094s 1094s # git portion of the command 1094s cmd = ['git'] + self._ANNEX_GIT_COMMON_OPTIONS 1094s 1094s if git_options: 1094s cmd += git_options 1094s 1094s if not self.always_commit: 1094s cmd += ['-c', 'annex.alwayscommit=false'] 1094s 1094s if not merge_annex_branches: 1094s cmd += ['-c', 'annex.merge-annex-branches=false'] 1094s 1094s # annex portion of the command 1094s cmd.append('annex') 1094s cmd += args 1094s 1094s if lgr.getEffectiveLevel() <= 8: 1094s cmd.append('--debug') 1094s 1094s if self._annex_common_options: 1094s cmd += self._annex_common_options 1094s 1094s if jobs == 'auto': 1094s # Limit to # of CPUs (but at least 3 to start with) 1094s # and also an additional config constraint (by default 1 1094s # due to https://github.com/datalad/datalad/issues/4404) 1094s jobs = self._n_auto_jobs or min( 1094s self.config.obtain('datalad.runtime.max-annex-jobs'), 1094s max(3, cpu_count())) 1094s # cache result to avoid repeated calls to cpu_count() 1094s self._n_auto_jobs = jobs 1094s if jobs and jobs != 1: 1094s cmd.append('-J%d' % jobs) 1094s 1094s runner = self._git_runner 1094s env = None 1094s if self.fake_dates_enabled: 1094s env = self.add_fake_dates(runner.env) 1094s 1094s try: 1094s if files: 1094s if issubclass(protocol, GeneratorMixIn): 1094s return runner.run_on_filelist_chunks_items_( 1094s cmd, 1094s files, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s else: 1094s return runner.run_on_filelist_chunks( 1094s cmd, 1094s files, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s else: 1094s > return runner.run( 1094s cmd, 1094s stdin=stdin, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:997: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s protocol = , stdin = None 1094s cwd = None, env = None, timeout = None, exception_on_error = True, kwargs = {} 1094s applied_cwd = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/dataset5') 1094s applied_env = {'ADTTMP': '/tmp/autopkgtest.WXFAly/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-ar...: 'python-psutil/5.9.8-2build3', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-artifacts', ...} 1094s threaded_runner = 1094s results_or_iterator = {'code': 1, 'stderr': ' not enough free space, need 100 MB more (use --force to override this check or adjust annex.d...///tmp/pytest-of-ubuntu/pytest-0/test_uncurl0/lvlA1/lvlB2_flavor1.tar (from myuncurl) (to data_A1B2F1.dat) \nfailed\n'} 1094s results = {'code': 1, 'stderr': ' not enough free space, need 100 MB more (use --force to override this check or adjust annex.d...///tmp/pytest-of-ubuntu/pytest-0/test_uncurl0/lvlA1/lvlB2_flavor1.tar (from myuncurl) (to data_A1B2F1.dat) \nfailed\n'} 1094s return_code = 1 1094s 1094s def run(self, 1094s cmd: list | str, 1094s protocol: type[WitlessProtocol] | None = None, 1094s stdin: bytes | IO | Queue | None = None, 1094s cwd: PathLike | str | None = None, 1094s env: dict | None = None, 1094s timeout: float | None = None, 1094s exception_on_error: bool = True, 1094s **kwargs) -> dict | _ResultGenerator: 1094s """Execute a command and communicate with it. 1094s 1094s Parameters 1094s ---------- 1094s cmd : list or str 1094s Sequence of program arguments. Passing a single string causes 1094s execution via the platform shell. 1094s protocol : WitlessProtocol, optional 1094s Protocol class handling interaction with the running process 1094s (e.g. output capture). A number of pre-crafted classes are 1094s provided (e.g `KillOutput`, `NoCapture`, `GitProgress`). 1094s If the protocol has the GeneratorMixIn-mixin, the run-method 1094s will return an iterator and can therefore be used in a for-clause. 1094s stdin : file-like, bytes, Queue, or None 1094s If stdin is a file-like, it will be directly used as stdin for the 1094s subprocess. The caller is responsible for writing to it and closing it. 1094s If stdin is a bytes, it will be fed to stdin of the subprocess. 1094s If all data is written, stdin will be closed. 1094s If stdin is a Queue, all elements (bytes) put into the Queue will 1094s be passed to stdin until None is read from the queue. If None is read, 1094s stdin of the subprocess is closed. 1094s cwd : str or path-like, optional 1094s If given, commands are executed with this path as PWD, 1094s the PWD of the parent process is used otherwise. Overrides 1094s any `cwd` given to the constructor. 1094s env : dict, optional 1094s Environment to be used for command execution. If given, it will 1094s completely replace any environment provided to theconstructor. If 1094s `cwd` is given, 'PWD' in the environment is set to its value. 1094s This must be a complete environment definition, no values 1094s from the current environment will be inherited. Overrides 1094s any `env` given to the constructor. 1094s timeout: float, optional 1094s None or the seconds after which a timeout callback is 1094s invoked, if no progress was made in communicating with 1094s the sub-process, or if waiting for the subprocess exit 1094s took more than the specified time. See the protocol and 1094s `ThreadedRunner` descriptions for a more detailed discussion 1094s on timeouts. 1094s exception_on_error : bool, optional 1094s This argument is first interpreted if the protocol is a subclass 1094s of `GeneratorMixIn`. If it is `True` (default), a 1094s `CommandErrorException` is raised by the generator if the 1094s sub process exited with a return code not equal to zero. If the 1094s parameter is `False`, no exception is raised. In both cases the 1094s return code can be read from the attribute `return_code` of 1094s the generator. Then this argument interpreted within this function 1094s to not raise `CommandError` if value is False in case of non-0 exit. 1094s kwargs : 1094s Passed to the Protocol class constructor. 1094s 1094s Returns 1094s ------- 1094s dict | _ResultGenerator 1094s 1094s If the protocol is not a subclass of `GeneratorMixIn`, the 1094s result of protocol._prepare_result will be returned. 1094s 1094s If the protocol is a subclass of `GeneratorMixIn`, a Generator, i.e. 1094s a `_ResultGenerator`, will be returned. This allows to use this 1094s method in constructs like: 1094s 1094s for protocol_output in runner.run(): 1094s ... 1094s 1094s Where the iterator yields whatever protocol.pipe_data_received 1094s sends into the generator. 1094s If all output was yielded and the process has terminated, the 1094s generator will raise StopIteration(return_code), where 1094s return_code is the return code of the process. The return code 1094s of the process will also be stored in the "return_code"-attribute 1094s of the runner. So you could write: 1094s 1094s gen = runner.run() 1094s for file_descriptor, data in gen: 1094s ... 1094s 1094s # get the return code of the process 1094s result = gen.return_code 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s On execution failure (non-zero exit code) this exception is 1094s raised which provides the command (cmd), stdout, stderr, 1094s exit code (status), and a message identifying the failed 1094s command, as properties. 1094s FileNotFoundError 1094s When a given executable does not exist. 1094s """ 1094s if protocol is None: 1094s # by default let all subprocess stream pass through 1094s protocol = NoCapture 1094s 1094s applied_cwd = cwd or self.cwd 1094s applied_env = self._get_adjusted_env( 1094s env=env or self.env, 1094s cwd=applied_cwd, 1094s ) 1094s 1094s lgr.debug( 1094s 'Run %r (protocol_class=%s) (cwd=%s)', 1094s cmd, 1094s protocol.__name__, 1094s applied_cwd 1094s ) 1094s 1094s threaded_runner = ThreadedRunner( 1094s cmd=cmd, 1094s protocol_class=protocol, 1094s stdin=stdin, 1094s protocol_kwargs=kwargs, 1094s timeout=timeout, 1094s exception_on_error=exception_on_error, 1094s cwd=applied_cwd, 1094s env=applied_env 1094s ) 1094s 1094s results_or_iterator = threaded_runner.run() 1094s if issubclass(protocol, GeneratorMixIn): 1094s return results_or_iterator 1094s 1094s results = cast(dict, results_or_iterator) 1094s # log before any exception is raised 1094s lgr.debug("Finished %r with status %s", cmd, results['code']) 1094s 1094s # make it such that we always blow if a protocol did not report 1094s # a return code at all or it was non-0 and we were not asked ignore 1094s # errors 1094s return_code = results.get('code', None) 1094s if return_code is None or (return_code and exception_on_error): 1094s # the runner has a better idea, doc string warns Protocol 1094s # implementations not to return these 1094s results.pop('cmd', None) 1094s results.pop('cwd', None) 1094s > raise CommandError( 1094s # whatever the results were, we carry them forward 1094s cmd=cmd, 1094s cwd=applied_cwd, 1094s **results, 1094s ) 1094s E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false annex addurl --file data_A1B2F1.dat bingofile:///tmp/pytest-of-ubuntu/pytest-0/test_uncurl0/lvlA1/lvlB2_flavor1.tar -c annex.dotfiles=true' failed with exitcode 1 under /tmp/pytest-of-ubuntu/pytest-0/dataset5 [out: 'addurl bingofile:///tmp/pytest-of-ubuntu/pytest-0/test_uncurl0/lvlA1/lvlB2_flavor1.tar (from myuncurl) (to data_A1B2F1.dat) 1094s E failed'] [err: 'not enough free space, need 100 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E addurl: 1 failed'] 1094s 1094s /usr/lib/python3/dist-packages/datalad/runner/runner.py:242: CommandError 1094s 1094s During handling of the above exception, another exception occurred: 1094s 1094s existing_dataset = Dataset('/tmp/pytest-of-ubuntu/pytest-0/dataset5') 1094s tmp_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_uncurl0') 1094s 1094s def test_uncurl(existing_dataset, tmp_path): 1094s archive_path = tmp_path 1094s create_tree(archive_path, {'lvlA1': {'lvlB2_flavor1.tar': 'data_A1B2F1'}}) 1094s ds = existing_dataset 1094s archive_path = Path(archive_path) 1094s dsca = ds.repo.call_annex 1094s dsca(['initremote', 'myuncurl'] + std_initargs + [ 1094s 'match=bingofile://(?P.*)/(?P[^/]+)/(?P[^/]+)_(?P.*)$ someothermatch', 1094s 'url=file://{basepath}/{lvlA}/{lvlB}_{flavor}', 1094s ]) 1094s data_url = (archive_path / 'lvlA1' / 'lvlB2_flavor1.tar').as_uri() 1094s # prefix the URL so git-annex has no idea how to handle it 1094s # (same as migrating from an obsolete system with no support anymore) 1094s data_url = f'bingo{data_url}' 1094s > dsca(['addurl', '--file', 'data_A1B2F1.dat', data_url]) 1094s 1094s ../build.vXv/src/datalad_next/annexremotes/tests/test_uncurl.py:207: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1318: in call_annex 1094s return self._call_annex( 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = AnnexRepo('/tmp/pytest-of-ubuntu/pytest-0/dataset5') 1094s args = ['addurl', '--file', 'data_A1B2F1.dat', 'bingofile:///tmp/pytest-of-ubuntu/pytest-0/test_uncurl0/lvlA1/lvlB2_flavor1.tar'] 1094s files = None, jobs = None 1094s protocol = 1094s git_options = None, stdin = None, merge_annex_branches = True, kwargs = {} 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s runner = 1094s env = None 1094s out_of_space_re = 1094s 1094s def _call_annex(self, args, files=None, jobs=None, protocol=StdOutErrCapture, 1094s git_options=None, stdin=None, merge_annex_branches=True, 1094s **kwargs): 1094s """Internal helper to run git-annex commands 1094s 1094s Standard command options are applied in addition to the given arguments, 1094s and certain error conditions are detected (if possible) and dedicated 1094s exceptions are raised. 1094s 1094s Parameters 1094s ---------- 1094s args: list 1094s List of git-annex command arguments. 1094s files: list, optional 1094s If command passes list of files. If list is too long 1094s (by number of files or overall size) it will be split, and multiple 1094s command invocations will follow 1094s jobs : int or 'auto', optional 1094s If 'auto', the number of jobs will be determined automatically, 1094s informed by the configuration setting 1094s 'datalad.runtime.max-annex-jobs'. 1094s protocol : WitlessProtocol, optional 1094s Protocol class to pass to GitWitlessRunner.run(). By default this is 1094s StdOutErrCapture, which will provide default logging behavior and 1094s guarantee that stdout/stderr are included in potential CommandError 1094s exception. 1094s git_options: list, optional 1094s Additional arguments for Git to include in the git-annex call 1094s (in a position prior to the 'annex' subcommand. 1094s stdin: File-like, optional 1094s stdin to connect to the git-annex process. Only used when `files` 1094s is None. 1094s merge_annex_branches: bool, optional 1094s If False, annex.merge-annex-branches=false config will be set for 1094s git-annex call. Useful for operations which are not intended to 1094s benefit from updating information about remote git-annexes 1094s **kwargs: 1094s Additional arguments are passed on to the WitlessProtocol constructor 1094s 1094s Returns 1094s ------- 1094s dict 1094s Return value of WitlessRunner.run(). The content of the dict is 1094s determined by the given `protocol`. By default, it provides git-annex's 1094s stdout and stderr (under these key names) 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s If the call exits with a non-zero status. 1094s 1094s OutOfSpaceError 1094s If a corresponding statement was detected in git-annex's output on 1094s stderr. Only supported if the given protocol captured stderr. 1094s 1094s RemoteNotAvailableError 1094s If a corresponding statement was detected in git-annex's output on 1094s stderr. Only supported if the given protocol captured stderr. 1094s """ 1094s if self.git_annex_version is None: 1094s self._check_git_annex_version() 1094s 1094s # git portion of the command 1094s cmd = ['git'] + self._ANNEX_GIT_COMMON_OPTIONS 1094s 1094s if git_options: 1094s cmd += git_options 1094s 1094s if not self.always_commit: 1094s cmd += ['-c', 'annex.alwayscommit=false'] 1094s 1094s if not merge_annex_branches: 1094s cmd += ['-c', 'annex.merge-annex-branches=false'] 1094s 1094s # annex portion of the command 1094s cmd.append('annex') 1094s cmd += args 1094s 1094s if lgr.getEffectiveLevel() <= 8: 1094s cmd.append('--debug') 1094s 1094s if self._annex_common_options: 1094s cmd += self._annex_common_options 1094s 1094s if jobs == 'auto': 1094s # Limit to # of CPUs (but at least 3 to start with) 1094s # and also an additional config constraint (by default 1 1094s # due to https://github.com/datalad/datalad/issues/4404) 1094s jobs = self._n_auto_jobs or min( 1094s self.config.obtain('datalad.runtime.max-annex-jobs'), 1094s max(3, cpu_count())) 1094s # cache result to avoid repeated calls to cpu_count() 1094s self._n_auto_jobs = jobs 1094s if jobs and jobs != 1: 1094s cmd.append('-J%d' % jobs) 1094s 1094s runner = self._git_runner 1094s env = None 1094s if self.fake_dates_enabled: 1094s env = self.add_fake_dates(runner.env) 1094s 1094s try: 1094s if files: 1094s if issubclass(protocol, GeneratorMixIn): 1094s return runner.run_on_filelist_chunks_items_( 1094s cmd, 1094s files, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s else: 1094s return runner.run_on_filelist_chunks( 1094s cmd, 1094s files, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s else: 1094s return runner.run( 1094s cmd, 1094s stdin=stdin, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s except CommandError as e: 1094s # Note: A call might result in several 'failures', that can be or 1094s # cannot be handled here. Detection of something, we can deal with, 1094s # doesn't mean there's nothing else to deal with. 1094s 1094s # OutOfSpaceError: 1094s # Note: 1094s # doesn't depend on anything in stdout. Therefore check this before 1094s # dealing with stdout 1094s out_of_space_re = re.search( 1094s "not enough free space, need (.*) more", e.stderr 1094s ) 1094s if out_of_space_re: 1094s > raise OutOfSpaceError(cmd=['annex'] + args, 1094s sizemore_msg=out_of_space_re.groups()[0]) 1094s E datalad.support.exceptions.OutOfSpaceError: OutOfSpaceError: 'annex addurl --file data_A1B2F1.dat bingofile:///tmp/pytest-of-ubuntu/pytest-0/test_uncurl0/lvlA1/lvlB2_flavor1.tar' needs 100 MB more 1094s 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1016: OutOfSpaceError 1094s ____________________________ test_uncurl_ria_access ____________________________ 1094s 1094s self = AnnexRepo('/tmp/pytest-of-ubuntu/pytest-0/test_uncurl_ria_access0/testds') 1094s args = ['addurl', '--file', 'mydownload.txt', 'file:///tmp/pytest-of-ubuntu/pytest-0/test_uncurl_ria_access0/ria/15b/4cd9b-fa...9b8/annex/objects/v6/6V/MD5E-s12--311e5fb57121c9ec105ef297a9a149a6.txt/MD5E-s12--311e5fb57121c9ec105ef297a9a149a6.txt'] 1094s files = None, jobs = None 1094s protocol = 1094s git_options = None, stdin = None, merge_annex_branches = True, kwargs = {} 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s runner = 1094s env = None 1094s out_of_space_re = 1094s 1094s def _call_annex(self, args, files=None, jobs=None, protocol=StdOutErrCapture, 1094s git_options=None, stdin=None, merge_annex_branches=True, 1094s **kwargs): 1094s """Internal helper to run git-annex commands 1094s 1094s Standard command options are applied in addition to the given arguments, 1094s and certain error conditions are detected (if possible) and dedicated 1094s exceptions are raised. 1094s 1094s Parameters 1094s ---------- 1094s args: list 1094s List of git-annex command arguments. 1094s files: list, optional 1094s If command passes list of files. If list is too long 1094s (by number of files or overall size) it will be split, and multiple 1094s command invocations will follow 1094s jobs : int or 'auto', optional 1094s If 'auto', the number of jobs will be determined automatically, 1094s informed by the configuration setting 1094s 'datalad.runtime.max-annex-jobs'. 1094s protocol : WitlessProtocol, optional 1094s Protocol class to pass to GitWitlessRunner.run(). By default this is 1094s StdOutErrCapture, which will provide default logging behavior and 1094s guarantee that stdout/stderr are included in potential CommandError 1094s exception. 1094s git_options: list, optional 1094s Additional arguments for Git to include in the git-annex call 1094s (in a position prior to the 'annex' subcommand. 1094s stdin: File-like, optional 1094s stdin to connect to the git-annex process. Only used when `files` 1094s is None. 1094s merge_annex_branches: bool, optional 1094s If False, annex.merge-annex-branches=false config will be set for 1094s git-annex call. Useful for operations which are not intended to 1094s benefit from updating information about remote git-annexes 1094s **kwargs: 1094s Additional arguments are passed on to the WitlessProtocol constructor 1094s 1094s Returns 1094s ------- 1094s dict 1094s Return value of WitlessRunner.run(). The content of the dict is 1094s determined by the given `protocol`. By default, it provides git-annex's 1094s stdout and stderr (under these key names) 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s If the call exits with a non-zero status. 1094s 1094s OutOfSpaceError 1094s If a corresponding statement was detected in git-annex's output on 1094s stderr. Only supported if the given protocol captured stderr. 1094s 1094s RemoteNotAvailableError 1094s If a corresponding statement was detected in git-annex's output on 1094s stderr. Only supported if the given protocol captured stderr. 1094s """ 1094s if self.git_annex_version is None: 1094s self._check_git_annex_version() 1094s 1094s # git portion of the command 1094s cmd = ['git'] + self._ANNEX_GIT_COMMON_OPTIONS 1094s 1094s if git_options: 1094s cmd += git_options 1094s 1094s if not self.always_commit: 1094s cmd += ['-c', 'annex.alwayscommit=false'] 1094s 1094s if not merge_annex_branches: 1094s cmd += ['-c', 'annex.merge-annex-branches=false'] 1094s 1094s # annex portion of the command 1094s cmd.append('annex') 1094s cmd += args 1094s 1094s if lgr.getEffectiveLevel() <= 8: 1094s cmd.append('--debug') 1094s 1094s if self._annex_common_options: 1094s cmd += self._annex_common_options 1094s 1094s if jobs == 'auto': 1094s # Limit to # of CPUs (but at least 3 to start with) 1094s # and also an additional config constraint (by default 1 1094s # due to https://github.com/datalad/datalad/issues/4404) 1094s jobs = self._n_auto_jobs or min( 1094s self.config.obtain('datalad.runtime.max-annex-jobs'), 1094s max(3, cpu_count())) 1094s # cache result to avoid repeated calls to cpu_count() 1094s self._n_auto_jobs = jobs 1094s if jobs and jobs != 1: 1094s cmd.append('-J%d' % jobs) 1094s 1094s runner = self._git_runner 1094s env = None 1094s if self.fake_dates_enabled: 1094s env = self.add_fake_dates(runner.env) 1094s 1094s try: 1094s if files: 1094s if issubclass(protocol, GeneratorMixIn): 1094s return runner.run_on_filelist_chunks_items_( 1094s cmd, 1094s files, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s else: 1094s return runner.run_on_filelist_chunks( 1094s cmd, 1094s files, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s else: 1094s > return runner.run( 1094s cmd, 1094s stdin=stdin, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:997: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s protocol = , stdin = None 1094s cwd = None, env = None, timeout = None, exception_on_error = True, kwargs = {} 1094s applied_cwd = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_uncurl_ria_access0/testds') 1094s applied_env = {'ADTTMP': '/tmp/autopkgtest.WXFAly/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-ar...: 'python-psutil/5.9.8-2build3', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-artifacts', ...} 1094s threaded_runner = 1094s results_or_iterator = {'code': 1, 'stderr': ' not enough free space, need 100 MB more (use --force to override this check or adjust annex.d...9ec105ef297a9a149a6.txt/MD5E-s12--311e5fb57121c9ec105ef297a9a149a6.txt (from myuncurl) (to mydownload.txt) \nfailed\n'} 1094s results = {'code': 1, 'stderr': ' not enough free space, need 100 MB more (use --force to override this check or adjust annex.d...9ec105ef297a9a149a6.txt/MD5E-s12--311e5fb57121c9ec105ef297a9a149a6.txt (from myuncurl) (to mydownload.txt) \nfailed\n'} 1094s return_code = 1 1094s 1094s def run(self, 1094s cmd: list | str, 1094s protocol: type[WitlessProtocol] | None = None, 1094s stdin: bytes | IO | Queue | None = None, 1094s cwd: PathLike | str | None = None, 1094s env: dict | None = None, 1094s timeout: float | None = None, 1094s exception_on_error: bool = True, 1094s **kwargs) -> dict | _ResultGenerator: 1094s """Execute a command and communicate with it. 1094s 1094s Parameters 1094s ---------- 1094s cmd : list or str 1094s Sequence of program arguments. Passing a single string causes 1094s execution via the platform shell. 1094s protocol : WitlessProtocol, optional 1094s Protocol class handling interaction with the running process 1094s (e.g. output capture). A number of pre-crafted classes are 1094s provided (e.g `KillOutput`, `NoCapture`, `GitProgress`). 1094s If the protocol has the GeneratorMixIn-mixin, the run-method 1094s will return an iterator and can therefore be used in a for-clause. 1094s stdin : file-like, bytes, Queue, or None 1094s If stdin is a file-like, it will be directly used as stdin for the 1094s subprocess. The caller is responsible for writing to it and closing it. 1094s If stdin is a bytes, it will be fed to stdin of the subprocess. 1094s If all data is written, stdin will be closed. 1094s If stdin is a Queue, all elements (bytes) put into the Queue will 1094s be passed to stdin until None is read from the queue. If None is read, 1094s stdin of the subprocess is closed. 1094s cwd : str or path-like, optional 1094s If given, commands are executed with this path as PWD, 1094s the PWD of the parent process is used otherwise. Overrides 1094s any `cwd` given to the constructor. 1094s env : dict, optional 1094s Environment to be used for command execution. If given, it will 1094s completely replace any environment provided to theconstructor. If 1094s `cwd` is given, 'PWD' in the environment is set to its value. 1094s This must be a complete environment definition, no values 1094s from the current environment will be inherited. Overrides 1094s any `env` given to the constructor. 1094s timeout: float, optional 1094s None or the seconds after which a timeout callback is 1094s invoked, if no progress was made in communicating with 1094s the sub-process, or if waiting for the subprocess exit 1094s took more than the specified time. See the protocol and 1094s `ThreadedRunner` descriptions for a more detailed discussion 1094s on timeouts. 1094s exception_on_error : bool, optional 1094s This argument is first interpreted if the protocol is a subclass 1094s of `GeneratorMixIn`. If it is `True` (default), a 1094s `CommandErrorException` is raised by the generator if the 1094s sub process exited with a return code not equal to zero. If the 1094s parameter is `False`, no exception is raised. In both cases the 1094s return code can be read from the attribute `return_code` of 1094s the generator. Then this argument interpreted within this function 1094s to not raise `CommandError` if value is False in case of non-0 exit. 1094s kwargs : 1094s Passed to the Protocol class constructor. 1094s 1094s Returns 1094s ------- 1094s dict | _ResultGenerator 1094s 1094s If the protocol is not a subclass of `GeneratorMixIn`, the 1094s result of protocol._prepare_result will be returned. 1094s 1094s If the protocol is a subclass of `GeneratorMixIn`, a Generator, i.e. 1094s a `_ResultGenerator`, will be returned. This allows to use this 1094s method in constructs like: 1094s 1094s for protocol_output in runner.run(): 1094s ... 1094s 1094s Where the iterator yields whatever protocol.pipe_data_received 1094s sends into the generator. 1094s If all output was yielded and the process has terminated, the 1094s generator will raise StopIteration(return_code), where 1094s return_code is the return code of the process. The return code 1094s of the process will also be stored in the "return_code"-attribute 1094s of the runner. So you could write: 1094s 1094s gen = runner.run() 1094s for file_descriptor, data in gen: 1094s ... 1094s 1094s # get the return code of the process 1094s result = gen.return_code 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s On execution failure (non-zero exit code) this exception is 1094s raised which provides the command (cmd), stdout, stderr, 1094s exit code (status), and a message identifying the failed 1094s command, as properties. 1094s FileNotFoundError 1094s When a given executable does not exist. 1094s """ 1094s if protocol is None: 1094s # by default let all subprocess stream pass through 1094s protocol = NoCapture 1094s 1094s applied_cwd = cwd or self.cwd 1094s applied_env = self._get_adjusted_env( 1094s env=env or self.env, 1094s cwd=applied_cwd, 1094s ) 1094s 1094s lgr.debug( 1094s 'Run %r (protocol_class=%s) (cwd=%s)', 1094s cmd, 1094s protocol.__name__, 1094s applied_cwd 1094s ) 1094s 1094s threaded_runner = ThreadedRunner( 1094s cmd=cmd, 1094s protocol_class=protocol, 1094s stdin=stdin, 1094s protocol_kwargs=kwargs, 1094s timeout=timeout, 1094s exception_on_error=exception_on_error, 1094s cwd=applied_cwd, 1094s env=applied_env 1094s ) 1094s 1094s results_or_iterator = threaded_runner.run() 1094s if issubclass(protocol, GeneratorMixIn): 1094s return results_or_iterator 1094s 1094s results = cast(dict, results_or_iterator) 1094s # log before any exception is raised 1094s lgr.debug("Finished %r with status %s", cmd, results['code']) 1094s 1094s # make it such that we always blow if a protocol did not report 1094s # a return code at all or it was non-0 and we were not asked ignore 1094s # errors 1094s return_code = results.get('code', None) 1094s if return_code is None or (return_code and exception_on_error): 1094s # the runner has a better idea, doc string warns Protocol 1094s # implementations not to return these 1094s results.pop('cmd', None) 1094s results.pop('cwd', None) 1094s > raise CommandError( 1094s # whatever the results were, we carry them forward 1094s cmd=cmd, 1094s cwd=applied_cwd, 1094s **results, 1094s ) 1094s E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false annex addurl --file mydownload.txt file:///tmp/pytest-of-ubuntu/pytest-0/test_uncurl_ria_access0/ria/15b/4cd9b-fa0f-48ac-9a1c-4ebb6665f9b8/annex/objects/v6/6V/MD5E-s12--311e5fb57121c9ec105ef297a9a149a6.txt/MD5E-s12--311e5fb57121c9ec105ef297a9a149a6.txt -c annex.dotfiles=true' failed with exitcode 1 under /tmp/pytest-of-ubuntu/pytest-0/test_uncurl_ria_access0/testds [out: 'addurl file:///tmp/pytest-of-ubuntu/pytest-0/test_uncurl_ria_access0/ria/15b/4cd9b-fa0f-48ac-9a1c-4ebb6665f9b8/annex/objects/v6/6V/MD5E-s12--311e5fb57121c9ec105ef297a9a149a6.txt/MD5E-s12--311e5fb57121c9ec105ef297a9a149a6.txt (from myuncurl) (to mydownload.txt) 1094s E failed'] [err: 'not enough free space, need 100 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E addurl: 1 failed'] 1094s 1094s /usr/lib/python3/dist-packages/datalad/runner/runner.py:242: CommandError 1094s 1094s During handling of the above exception, another exception occurred: 1094s 1094s tmp_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_uncurl_ria_access0') 1094s no_result_rendering = None 1094s 1094s @skip_if_on_windows 1094s def test_uncurl_ria_access(tmp_path, no_result_rendering): 1094s """ 1094s - create dataset with test file and push into RIA store 1094s - create INDEPENDENT dataset and 'addurl' test file directly from RIA 1094s - test that addurls work without any config, just initremote with no 1094s custom settings 1094s - now move RIA and hence break URL 1094s - fix1: only using a URL template, point to dataset dir in RIA store 1094s plus some always available key-properties 1094s - alternative fix2: simpler template, plus match expression to 1094s "understand" some structural aspects of RIA and reuse them 1094s """ 1094s # we create a dataset to bootstrap the test setup, with on file 1094s # of known content 1094s srcds = EnsureDataset()(tmp_path / 'srcds').ds.create() 1094s testfile_content = 'mikewashere!' 1094s (srcds.pathobj / 'testfile.txt').write_text(testfile_content) 1094s srcds.save() 1094s # pull out some essential properties for the underlying key for later 1094s # use in this test 1094s testkey_props = srcds.status( 1094s 'testfile.txt', annex='basic', return_type='item-or-list') 1094s testkey_props = { 1094s k: v for k, v in testkey_props.items() 1094s if k in ('key', 'hashdirmixed', 'hashdirlower') 1094s } 1094s 1094s # establish a RIA sibling and push 1094s baseurl = (tmp_path / "ria").as_uri() 1094s srcds.create_sibling_ria( 1094s # use a ria+file:// URL for simplicity 1094s f'ria+{baseurl}', 1094s name='ria', 1094s new_store_ok=True, 1094s ) 1094s srcds.push(to='ria') 1094s # setup is done 1094s 1094s # start of the actual test 1094s # create a fresh dataset 1094s ds = EnsureDataset()(tmp_path / 'testds').ds.create() 1094s dsca = ds.repo.call_annex 1094s # we add uncurl WITH NO config whatsoever. 1094s # this must be enough to be able to use the built-in downloaders 1094s target_fname = 'mydownload.txt' 1094s dsca(['initremote', 'myuncurl'] + std_initargs) 1094s > dsca(['addurl', '--file', target_fname, 1094s # we download from the verbatim, hand-crafted URL 1094s f'{baseurl}/{srcds.id[:3]}/{srcds.id[3:]}/annex/objects/' 1094s f'{testkey_props["hashdirmixed"]}' 1094s f'{testkey_props["key"]}/{testkey_props["key"]}' 1094s ]) 1094s 1094s ../build.vXv/src/datalad_next/annexremotes/tests/test_uncurl.py:264: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1318: in call_annex 1094s return self._call_annex( 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = AnnexRepo('/tmp/pytest-of-ubuntu/pytest-0/test_uncurl_ria_access0/testds') 1094s args = ['addurl', '--file', 'mydownload.txt', 'file:///tmp/pytest-of-ubuntu/pytest-0/test_uncurl_ria_access0/ria/15b/4cd9b-fa...9b8/annex/objects/v6/6V/MD5E-s12--311e5fb57121c9ec105ef297a9a149a6.txt/MD5E-s12--311e5fb57121c9ec105ef297a9a149a6.txt'] 1094s files = None, jobs = None 1094s protocol = 1094s git_options = None, stdin = None, merge_annex_branches = True, kwargs = {} 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s runner = 1094s env = None 1094s out_of_space_re = 1094s 1094s def _call_annex(self, args, files=None, jobs=None, protocol=StdOutErrCapture, 1094s git_options=None, stdin=None, merge_annex_branches=True, 1094s **kwargs): 1094s """Internal helper to run git-annex commands 1094s 1094s Standard command options are applied in addition to the given arguments, 1094s and certain error conditions are detected (if possible) and dedicated 1094s exceptions are raised. 1094s 1094s Parameters 1094s ---------- 1094s args: list 1094s List of git-annex command arguments. 1094s files: list, optional 1094s If command passes list of files. If list is too long 1094s (by number of files or overall size) it will be split, and multiple 1094s command invocations will follow 1094s jobs : int or 'auto', optional 1094s If 'auto', the number of jobs will be determined automatically, 1094s informed by the configuration setting 1094s 'datalad.runtime.max-annex-jobs'. 1094s protocol : WitlessProtocol, optional 1094s Protocol class to pass to GitWitlessRunner.run(). By default this is 1094s StdOutErrCapture, which will provide default logging behavior and 1094s guarantee that stdout/stderr are included in potential CommandError 1094s exception. 1094s git_options: list, optional 1094s Additional arguments for Git to include in the git-annex call 1094s (in a position prior to the 'annex' subcommand. 1094s stdin: File-like, optional 1094s stdin to connect to the git-annex process. Only used when `files` 1094s is None. 1094s merge_annex_branches: bool, optional 1094s If False, annex.merge-annex-branches=false config will be set for 1094s git-annex call. Useful for operations which are not intended to 1094s benefit from updating information about remote git-annexes 1094s **kwargs: 1094s Additional arguments are passed on to the WitlessProtocol constructor 1094s 1094s Returns 1094s ------- 1094s dict 1094s Return value of WitlessRunner.run(). The content of the dict is 1094s determined by the given `protocol`. By default, it provides git-annex's 1094s stdout and stderr (under these key names) 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s If the call exits with a non-zero status. 1094s 1094s OutOfSpaceError 1094s If a corresponding statement was detected in git-annex's output on 1094s stderr. Only supported if the given protocol captured stderr. 1094s 1094s RemoteNotAvailableError 1094s If a corresponding statement was detected in git-annex's output on 1094s stderr. Only supported if the given protocol captured stderr. 1094s """ 1094s if self.git_annex_version is None: 1094s self._check_git_annex_version() 1094s 1094s # git portion of the command 1094s cmd = ['git'] + self._ANNEX_GIT_COMMON_OPTIONS 1094s 1094s if git_options: 1094s cmd += git_options 1094s 1094s if not self.always_commit: 1094s cmd += ['-c', 'annex.alwayscommit=false'] 1094s 1094s if not merge_annex_branches: 1094s cmd += ['-c', 'annex.merge-annex-branches=false'] 1094s 1094s # annex portion of the command 1094s cmd.append('annex') 1094s cmd += args 1094s 1094s if lgr.getEffectiveLevel() <= 8: 1094s cmd.append('--debug') 1094s 1094s if self._annex_common_options: 1094s cmd += self._annex_common_options 1094s 1094s if jobs == 'auto': 1094s # Limit to # of CPUs (but at least 3 to start with) 1094s # and also an additional config constraint (by default 1 1094s # due to https://github.com/datalad/datalad/issues/4404) 1094s jobs = self._n_auto_jobs or min( 1094s self.config.obtain('datalad.runtime.max-annex-jobs'), 1094s max(3, cpu_count())) 1094s # cache result to avoid repeated calls to cpu_count() 1094s self._n_auto_jobs = jobs 1094s if jobs and jobs != 1: 1094s cmd.append('-J%d' % jobs) 1094s 1094s runner = self._git_runner 1094s env = None 1094s if self.fake_dates_enabled: 1094s env = self.add_fake_dates(runner.env) 1094s 1094s try: 1094s if files: 1094s if issubclass(protocol, GeneratorMixIn): 1094s return runner.run_on_filelist_chunks_items_( 1094s cmd, 1094s files, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s else: 1094s return runner.run_on_filelist_chunks( 1094s cmd, 1094s files, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s else: 1094s return runner.run( 1094s cmd, 1094s stdin=stdin, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s except CommandError as e: 1094s # Note: A call might result in several 'failures', that can be or 1094s # cannot be handled here. Detection of something, we can deal with, 1094s # doesn't mean there's nothing else to deal with. 1094s 1094s # OutOfSpaceError: 1094s # Note: 1094s # doesn't depend on anything in stdout. Therefore check this before 1094s # dealing with stdout 1094s out_of_space_re = re.search( 1094s "not enough free space, need (.*) more", e.stderr 1094s ) 1094s if out_of_space_re: 1094s > raise OutOfSpaceError(cmd=['annex'] + args, 1094s sizemore_msg=out_of_space_re.groups()[0]) 1094s E datalad.support.exceptions.OutOfSpaceError: OutOfSpaceError: 'annex addurl --file mydownload.txt file:///tmp/pytest-of-ubuntu/pytest-0/test_uncurl_ria_access0/ria/15b/4cd9b-fa0f-48ac-9a1c-4ebb6665f9b8/annex/objects/v6/6V/MD5E-s12--311e5fb57121c9ec105ef297a9a149a6.txt/MD5E-s12--311e5fb57121c9ec105ef297a9a149a6.txt' needs 100 MB more 1094s 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1016: OutOfSpaceError 1094s ------------------------------ Captured log call ------------------------------- 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/pytest-of-ubuntu/pytest-0/test_uncurl_ria_access0/srcds 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s INFO datalad.distributed.create_sibling_ria:log.py:432 Creating a new RIA store at /tmp/pytest-of-ubuntu/pytest-0/test_uncurl_ria_access0/ria 1094s INFO datalad.distributed.create_sibling_ria:replace_create_sibling_ria.py:609 create siblings 'ria' and 'ria-storage' ... 1094s INFO datalad.distribution.update:update.py:307 Fetching updates for Dataset(/tmp/pytest-of-ubuntu/pytest-0/test_uncurl_ria_access0/srcds) 1094s INFO datalad.distribution.siblings:siblings.py:536 Configure additional publication dependency on "ria-storage" 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad.core.distributed.push:log.py:432 Push refspecs 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad.core.distributed.push:log.py:432 Push refspecs 1094s INFO datalad.core.distributed.push:log.py:432 Transfer data 1094s INFO datalad.annex:log.py:432 Start annex operation 1094s INFO datalad.annex:log.py:432 Finished annex copy 1094s INFO datalad.core.distributed.push:log.py:432 Transfer data 1094s INFO datalad.core.distributed.push:log.py:432 Update availability information 1094s INFO datalad.gitrepo:log.py:432 Start enumerating objects 1094s INFO datalad.gitrepo:log.py:432 Finished enumerating objects 1094s INFO datalad.gitrepo:log.py:432 Start counting objects 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 3% (1/28) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 7% (2/28) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 10% (3/28) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 14% (4/28) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 17% (5/28) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 21% (6/28) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 25% (7/28) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 28% (8/28) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 32% (9/28) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 35% (10/28) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 39% (11/28) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 42% (12/28) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 46% (13/28) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 50% (14/28) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 53% (15/28) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 57% (16/28) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 60% (17/28) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 64% (18/28) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 67% (19/28) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 71% (20/28) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 75% (21/28) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 78% (22/28) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 82% (23/28) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 85% (24/28) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 89% (25/28) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 92% (26/28) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 96% (27/28) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 100% (28/28) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 100% (28/28), done. 1094s INFO datalad.gitrepo:log.py:432 Finished counting objects 1094s INFO datalad.gitrepo:log.py:432 Start compressing objects 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 4% (1/23) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 8% (2/23) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 13% (3/23) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 17% (4/23) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 21% (5/23) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 26% (6/23) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 30% (7/23) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 34% (8/23) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 39% (9/23) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 43% (10/23) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 47% (11/23) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 52% (12/23) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 56% (13/23) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 60% (14/23) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 65% (15/23) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 69% (16/23) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 73% (17/23) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 78% (18/23) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 82% (19/23) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 86% (20/23) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 91% (21/23) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 95% (22/23) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 100% (23/23) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 100% (23/23), done. 1094s INFO datalad.gitrepo:log.py:432 Finished compressing objects 1094s INFO datalad.gitrepo:log.py:432 Start writing objects 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 3% (1/28) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 7% (2/28) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 10% (3/28) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 14% (4/28) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 17% (5/28) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 21% (6/28) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 25% (7/28) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 28% (8/28) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 32% (9/28) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 35% (10/28) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 39% (11/28) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 42% (12/28) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 46% (13/28) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 50% (14/28) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 53% (15/28) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 57% (16/28) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 60% (17/28) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 64% (18/28) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 67% (19/28) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 71% (20/28) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 75% (21/28) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 78% (22/28) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 82% (23/28) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 85% (24/28) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 89% (25/28) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 92% (26/28) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 96% (27/28) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 100% (28/28) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 100% (28/28), 2.70 KiB | 1.35 MiB/s, done. 1094s INFO datalad.gitrepo:log.py:432 Finished writing objects 1094s INFO datalad.core.distributed.push:log.py:432 Finished push of Dataset(/tmp/pytest-of-ubuntu/pytest-0/test_uncurl_ria_access0/srcds) 1094s INFO datalad.core.distributed.push:log.py:432 Finished push of Dataset(/tmp/pytest-of-ubuntu/pytest-0/test_uncurl_ria_access0/srcds) 1094s ______________________________ test_uncurl_store _______________________________ 1094s 1094s self = AnnexRepo('/tmp/pytest-of-ubuntu/pytest-0/dataset6') 1094s args = ['copy', '-f', 'myuncurl', '/tmp/pytest-of-ubuntu/pytest-0/dataset6/testfile1.txt'] 1094s files = None, jobs = None 1094s protocol = 1094s git_options = None, stdin = None, merge_annex_branches = True, kwargs = {} 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s runner = 1094s env = None 1094s out_of_space_re = 1094s 1094s def _call_annex(self, args, files=None, jobs=None, protocol=StdOutErrCapture, 1094s git_options=None, stdin=None, merge_annex_branches=True, 1094s **kwargs): 1094s """Internal helper to run git-annex commands 1094s 1094s Standard command options are applied in addition to the given arguments, 1094s and certain error conditions are detected (if possible) and dedicated 1094s exceptions are raised. 1094s 1094s Parameters 1094s ---------- 1094s args: list 1094s List of git-annex command arguments. 1094s files: list, optional 1094s If command passes list of files. If list is too long 1094s (by number of files or overall size) it will be split, and multiple 1094s command invocations will follow 1094s jobs : int or 'auto', optional 1094s If 'auto', the number of jobs will be determined automatically, 1094s informed by the configuration setting 1094s 'datalad.runtime.max-annex-jobs'. 1094s protocol : WitlessProtocol, optional 1094s Protocol class to pass to GitWitlessRunner.run(). By default this is 1094s StdOutErrCapture, which will provide default logging behavior and 1094s guarantee that stdout/stderr are included in potential CommandError 1094s exception. 1094s git_options: list, optional 1094s Additional arguments for Git to include in the git-annex call 1094s (in a position prior to the 'annex' subcommand. 1094s stdin: File-like, optional 1094s stdin to connect to the git-annex process. Only used when `files` 1094s is None. 1094s merge_annex_branches: bool, optional 1094s If False, annex.merge-annex-branches=false config will be set for 1094s git-annex call. Useful for operations which are not intended to 1094s benefit from updating information about remote git-annexes 1094s **kwargs: 1094s Additional arguments are passed on to the WitlessProtocol constructor 1094s 1094s Returns 1094s ------- 1094s dict 1094s Return value of WitlessRunner.run(). The content of the dict is 1094s determined by the given `protocol`. By default, it provides git-annex's 1094s stdout and stderr (under these key names) 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s If the call exits with a non-zero status. 1094s 1094s OutOfSpaceError 1094s If a corresponding statement was detected in git-annex's output on 1094s stderr. Only supported if the given protocol captured stderr. 1094s 1094s RemoteNotAvailableError 1094s If a corresponding statement was detected in git-annex's output on 1094s stderr. Only supported if the given protocol captured stderr. 1094s """ 1094s if self.git_annex_version is None: 1094s self._check_git_annex_version() 1094s 1094s # git portion of the command 1094s cmd = ['git'] + self._ANNEX_GIT_COMMON_OPTIONS 1094s 1094s if git_options: 1094s cmd += git_options 1094s 1094s if not self.always_commit: 1094s cmd += ['-c', 'annex.alwayscommit=false'] 1094s 1094s if not merge_annex_branches: 1094s cmd += ['-c', 'annex.merge-annex-branches=false'] 1094s 1094s # annex portion of the command 1094s cmd.append('annex') 1094s cmd += args 1094s 1094s if lgr.getEffectiveLevel() <= 8: 1094s cmd.append('--debug') 1094s 1094s if self._annex_common_options: 1094s cmd += self._annex_common_options 1094s 1094s if jobs == 'auto': 1094s # Limit to # of CPUs (but at least 3 to start with) 1094s # and also an additional config constraint (by default 1 1094s # due to https://github.com/datalad/datalad/issues/4404) 1094s jobs = self._n_auto_jobs or min( 1094s self.config.obtain('datalad.runtime.max-annex-jobs'), 1094s max(3, cpu_count())) 1094s # cache result to avoid repeated calls to cpu_count() 1094s self._n_auto_jobs = jobs 1094s if jobs and jobs != 1: 1094s cmd.append('-J%d' % jobs) 1094s 1094s runner = self._git_runner 1094s env = None 1094s if self.fake_dates_enabled: 1094s env = self.add_fake_dates(runner.env) 1094s 1094s try: 1094s if files: 1094s if issubclass(protocol, GeneratorMixIn): 1094s return runner.run_on_filelist_chunks_items_( 1094s cmd, 1094s files, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s else: 1094s return runner.run_on_filelist_chunks( 1094s cmd, 1094s files, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s else: 1094s > return runner.run( 1094s cmd, 1094s stdin=stdin, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:997: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s protocol = , stdin = None 1094s cwd = None, env = None, timeout = None, exception_on_error = True, kwargs = {} 1094s applied_cwd = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/dataset6') 1094s applied_env = {'ADTTMP': '/tmp/autopkgtest.WXFAly/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-ar...: 'python-psutil/5.9.8-2build3', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-artifacts', ...} 1094s threaded_runner = 1094s results_or_iterator = {'code': 1, 'stderr': ' not enough free space, need 100 MB more (use --force to override this check or adjust annex.diskreserve)\ncopy: 1 failed\n', 'stdout': 'copy testfile1.txt (from myuncurl...) \nfailed\n'} 1094s results = {'code': 1, 'stderr': ' not enough free space, need 100 MB more (use --force to override this check or adjust annex.diskreserve)\ncopy: 1 failed\n', 'stdout': 'copy testfile1.txt (from myuncurl...) \nfailed\n'} 1094s return_code = 1 1094s 1094s def run(self, 1094s cmd: list | str, 1094s protocol: type[WitlessProtocol] | None = None, 1094s stdin: bytes | IO | Queue | None = None, 1094s cwd: PathLike | str | None = None, 1094s env: dict | None = None, 1094s timeout: float | None = None, 1094s exception_on_error: bool = True, 1094s **kwargs) -> dict | _ResultGenerator: 1094s """Execute a command and communicate with it. 1094s 1094s Parameters 1094s ---------- 1094s cmd : list or str 1094s Sequence of program arguments. Passing a single string causes 1094s execution via the platform shell. 1094s protocol : WitlessProtocol, optional 1094s Protocol class handling interaction with the running process 1094s (e.g. output capture). A number of pre-crafted classes are 1094s provided (e.g `KillOutput`, `NoCapture`, `GitProgress`). 1094s If the protocol has the GeneratorMixIn-mixin, the run-method 1094s will return an iterator and can therefore be used in a for-clause. 1094s stdin : file-like, bytes, Queue, or None 1094s If stdin is a file-like, it will be directly used as stdin for the 1094s subprocess. The caller is responsible for writing to it and closing it. 1094s If stdin is a bytes, it will be fed to stdin of the subprocess. 1094s If all data is written, stdin will be closed. 1094s If stdin is a Queue, all elements (bytes) put into the Queue will 1094s be passed to stdin until None is read from the queue. If None is read, 1094s stdin of the subprocess is closed. 1094s cwd : str or path-like, optional 1094s If given, commands are executed with this path as PWD, 1094s the PWD of the parent process is used otherwise. Overrides 1094s any `cwd` given to the constructor. 1094s env : dict, optional 1094s Environment to be used for command execution. If given, it will 1094s completely replace any environment provided to theconstructor. If 1094s `cwd` is given, 'PWD' in the environment is set to its value. 1094s This must be a complete environment definition, no values 1094s from the current environment will be inherited. Overrides 1094s any `env` given to the constructor. 1094s timeout: float, optional 1094s None or the seconds after which a timeout callback is 1094s invoked, if no progress was made in communicating with 1094s the sub-process, or if waiting for the subprocess exit 1094s took more than the specified time. See the protocol and 1094s `ThreadedRunner` descriptions for a more detailed discussion 1094s on timeouts. 1094s exception_on_error : bool, optional 1094s This argument is first interpreted if the protocol is a subclass 1094s of `GeneratorMixIn`. If it is `True` (default), a 1094s `CommandErrorException` is raised by the generator if the 1094s sub process exited with a return code not equal to zero. If the 1094s parameter is `False`, no exception is raised. In both cases the 1094s return code can be read from the attribute `return_code` of 1094s the generator. Then this argument interpreted within this function 1094s to not raise `CommandError` if value is False in case of non-0 exit. 1094s kwargs : 1094s Passed to the Protocol class constructor. 1094s 1094s Returns 1094s ------- 1094s dict | _ResultGenerator 1094s 1094s If the protocol is not a subclass of `GeneratorMixIn`, the 1094s result of protocol._prepare_result will be returned. 1094s 1094s If the protocol is a subclass of `GeneratorMixIn`, a Generator, i.e. 1094s a `_ResultGenerator`, will be returned. This allows to use this 1094s method in constructs like: 1094s 1094s for protocol_output in runner.run(): 1094s ... 1094s 1094s Where the iterator yields whatever protocol.pipe_data_received 1094s sends into the generator. 1094s If all output was yielded and the process has terminated, the 1094s generator will raise StopIteration(return_code), where 1094s return_code is the return code of the process. The return code 1094s of the process will also be stored in the "return_code"-attribute 1094s of the runner. So you could write: 1094s 1094s gen = runner.run() 1094s for file_descriptor, data in gen: 1094s ... 1094s 1094s # get the return code of the process 1094s result = gen.return_code 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s On execution failure (non-zero exit code) this exception is 1094s raised which provides the command (cmd), stdout, stderr, 1094s exit code (status), and a message identifying the failed 1094s command, as properties. 1094s FileNotFoundError 1094s When a given executable does not exist. 1094s """ 1094s if protocol is None: 1094s # by default let all subprocess stream pass through 1094s protocol = NoCapture 1094s 1094s applied_cwd = cwd or self.cwd 1094s applied_env = self._get_adjusted_env( 1094s env=env or self.env, 1094s cwd=applied_cwd, 1094s ) 1094s 1094s lgr.debug( 1094s 'Run %r (protocol_class=%s) (cwd=%s)', 1094s cmd, 1094s protocol.__name__, 1094s applied_cwd 1094s ) 1094s 1094s threaded_runner = ThreadedRunner( 1094s cmd=cmd, 1094s protocol_class=protocol, 1094s stdin=stdin, 1094s protocol_kwargs=kwargs, 1094s timeout=timeout, 1094s exception_on_error=exception_on_error, 1094s cwd=applied_cwd, 1094s env=applied_env 1094s ) 1094s 1094s results_or_iterator = threaded_runner.run() 1094s if issubclass(protocol, GeneratorMixIn): 1094s return results_or_iterator 1094s 1094s results = cast(dict, results_or_iterator) 1094s # log before any exception is raised 1094s lgr.debug("Finished %r with status %s", cmd, results['code']) 1094s 1094s # make it such that we always blow if a protocol did not report 1094s # a return code at all or it was non-0 and we were not asked ignore 1094s # errors 1094s return_code = results.get('code', None) 1094s if return_code is None or (return_code and exception_on_error): 1094s # the runner has a better idea, doc string warns Protocol 1094s # implementations not to return these 1094s results.pop('cmd', None) 1094s results.pop('cwd', None) 1094s > raise CommandError( 1094s # whatever the results were, we carry them forward 1094s cmd=cmd, 1094s cwd=applied_cwd, 1094s **results, 1094s ) 1094s E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false annex copy -f myuncurl /tmp/pytest-of-ubuntu/pytest-0/dataset6/testfile1.txt -c annex.dotfiles=true' failed with exitcode 1 under /tmp/pytest-of-ubuntu/pytest-0/dataset6 [out: 'copy testfile1.txt (from myuncurl...) 1094s E failed'] [err: 'not enough free space, need 100 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E copy: 1 failed'] 1094s 1094s /usr/lib/python3/dist-packages/datalad/runner/runner.py:242: CommandError 1094s 1094s During handling of the above exception, another exception occurred: 1094s 1094s tmp_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_uncurl_store0') 1094s existing_dataset = Dataset('/tmp/pytest-of-ubuntu/pytest-0/dataset6') 1094s no_result_rendering = None 1094s 1094s @skip_if_root # see https://github.com/datalad/datalad-next/issues/525 1094s def test_uncurl_store(tmp_path, existing_dataset, no_result_rendering): 1094s ds = existing_dataset 1094s testfile = ds.pathobj / 'testfile1.txt' 1094s testfile_content = 'uppytyup!' 1094s testfile.write_text(testfile_content) 1094s ds.save() 1094s dsca = ds.repo.call_annex 1094s # init the remote with a template that places keys in the same structure 1094s # as annex/objects within a bare remote repo 1094s dsca(['initremote', 'myuncurl'] + std_initargs + [ 1094s # intentional double-braces at the end to get templates into the template 1094s f'url={(tmp_path).as_uri()}/{{annex_dirhash_lower}}{{annex_key}}/{{annex_key}}', 1094s ]) 1094s # store file at remote 1094s dsca(['copy', '-t', 'myuncurl', str(testfile)]) 1094s # let remote verify presence 1094s dsca(['fsck', '-q', '-f', 'myuncurl']) 1094s # doublecheck 1094s testfile_props = ds.status(testfile, annex='basic', 1094s return_type='item-or-list') 1094s assert (tmp_path / testfile_props['hashdirlower'] / 1094s testfile_props['key'] / testfile_props['key'] 1094s ).read_text() == testfile_content 1094s # we have no URLs recorded 1094s assert all(not v['urls'] 1094s for v in ds.repo.whereis(str(testfile), output='full').values()) 1094s # yet we can retrieve via uncurl, because local key properties are enough 1094s # to fill the template 1094s ds.drop(testfile) 1094s assert not ds.status( 1094s testfile, annex='availability', return_type='item-or-list', 1094s )['has_content'] 1094s > dsca(['copy', '-f', 'myuncurl', str(testfile)]) 1094s 1094s ../build.vXv/src/datalad_next/annexremotes/tests/test_uncurl.py:364: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1318: in call_annex 1094s return self._call_annex( 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = AnnexRepo('/tmp/pytest-of-ubuntu/pytest-0/dataset6') 1094s args = ['copy', '-f', 'myuncurl', '/tmp/pytest-of-ubuntu/pytest-0/dataset6/testfile1.txt'] 1094s files = None, jobs = None 1094s protocol = 1094s git_options = None, stdin = None, merge_annex_branches = True, kwargs = {} 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s runner = 1094s env = None 1094s out_of_space_re = 1094s 1094s def _call_annex(self, args, files=None, jobs=None, protocol=StdOutErrCapture, 1094s git_options=None, stdin=None, merge_annex_branches=True, 1094s **kwargs): 1094s """Internal helper to run git-annex commands 1094s 1094s Standard command options are applied in addition to the given arguments, 1094s and certain error conditions are detected (if possible) and dedicated 1094s exceptions are raised. 1094s 1094s Parameters 1094s ---------- 1094s args: list 1094s List of git-annex command arguments. 1094s files: list, optional 1094s If command passes list of files. If list is too long 1094s (by number of files or overall size) it will be split, and multiple 1094s command invocations will follow 1094s jobs : int or 'auto', optional 1094s If 'auto', the number of jobs will be determined automatically, 1094s informed by the configuration setting 1094s 'datalad.runtime.max-annex-jobs'. 1094s protocol : WitlessProtocol, optional 1094s Protocol class to pass to GitWitlessRunner.run(). By default this is 1094s StdOutErrCapture, which will provide default logging behavior and 1094s guarantee that stdout/stderr are included in potential CommandError 1094s exception. 1094s git_options: list, optional 1094s Additional arguments for Git to include in the git-annex call 1094s (in a position prior to the 'annex' subcommand. 1094s stdin: File-like, optional 1094s stdin to connect to the git-annex process. Only used when `files` 1094s is None. 1094s merge_annex_branches: bool, optional 1094s If False, annex.merge-annex-branches=false config will be set for 1094s git-annex call. Useful for operations which are not intended to 1094s benefit from updating information about remote git-annexes 1094s **kwargs: 1094s Additional arguments are passed on to the WitlessProtocol constructor 1094s 1094s Returns 1094s ------- 1094s dict 1094s Return value of WitlessRunner.run(). The content of the dict is 1094s determined by the given `protocol`. By default, it provides git-annex's 1094s stdout and stderr (under these key names) 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s If the call exits with a non-zero status. 1094s 1094s OutOfSpaceError 1094s If a corresponding statement was detected in git-annex's output on 1094s stderr. Only supported if the given protocol captured stderr. 1094s 1094s RemoteNotAvailableError 1094s If a corresponding statement was detected in git-annex's output on 1094s stderr. Only supported if the given protocol captured stderr. 1094s """ 1094s if self.git_annex_version is None: 1094s self._check_git_annex_version() 1094s 1094s # git portion of the command 1094s cmd = ['git'] + self._ANNEX_GIT_COMMON_OPTIONS 1094s 1094s if git_options: 1094s cmd += git_options 1094s 1094s if not self.always_commit: 1094s cmd += ['-c', 'annex.alwayscommit=false'] 1094s 1094s if not merge_annex_branches: 1094s cmd += ['-c', 'annex.merge-annex-branches=false'] 1094s 1094s # annex portion of the command 1094s cmd.append('annex') 1094s cmd += args 1094s 1094s if lgr.getEffectiveLevel() <= 8: 1094s cmd.append('--debug') 1094s 1094s if self._annex_common_options: 1094s cmd += self._annex_common_options 1094s 1094s if jobs == 'auto': 1094s # Limit to # of CPUs (but at least 3 to start with) 1094s # and also an additional config constraint (by default 1 1094s # due to https://github.com/datalad/datalad/issues/4404) 1094s jobs = self._n_auto_jobs or min( 1094s self.config.obtain('datalad.runtime.max-annex-jobs'), 1094s max(3, cpu_count())) 1094s # cache result to avoid repeated calls to cpu_count() 1094s self._n_auto_jobs = jobs 1094s if jobs and jobs != 1: 1094s cmd.append('-J%d' % jobs) 1094s 1094s runner = self._git_runner 1094s env = None 1094s if self.fake_dates_enabled: 1094s env = self.add_fake_dates(runner.env) 1094s 1094s try: 1094s if files: 1094s if issubclass(protocol, GeneratorMixIn): 1094s return runner.run_on_filelist_chunks_items_( 1094s cmd, 1094s files, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s else: 1094s return runner.run_on_filelist_chunks( 1094s cmd, 1094s files, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s else: 1094s return runner.run( 1094s cmd, 1094s stdin=stdin, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s except CommandError as e: 1094s # Note: A call might result in several 'failures', that can be or 1094s # cannot be handled here. Detection of something, we can deal with, 1094s # doesn't mean there's nothing else to deal with. 1094s 1094s # OutOfSpaceError: 1094s # Note: 1094s # doesn't depend on anything in stdout. Therefore check this before 1094s # dealing with stdout 1094s out_of_space_re = re.search( 1094s "not enough free space, need (.*) more", e.stderr 1094s ) 1094s if out_of_space_re: 1094s > raise OutOfSpaceError(cmd=['annex'] + args, 1094s sizemore_msg=out_of_space_re.groups()[0]) 1094s E datalad.support.exceptions.OutOfSpaceError: OutOfSpaceError: 'annex copy -f myuncurl /tmp/pytest-of-ubuntu/pytest-0/dataset6/testfile1.txt' needs 100 MB more 1094s 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1016: OutOfSpaceError 1094s ------------------------------ Captured log call ------------------------------- 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/pytest-of-ubuntu/pytest-0/dataset6 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s ______________________________ test_uncurl_remove ______________________________ 1094s 1094s self = AnnexRepo('/tmp/pytest-of-ubuntu/pytest-0/dataset7') 1094s args = ['addurl', '--file', '/tmp/pytest-of-ubuntu/pytest-0/dataset7/target1.txt', 'file:///tmp/pytest-of-ubuntu/pytest-0/test_uncurl_remove0/testdeposit/testfile1.txt'] 1094s files = None, jobs = None 1094s protocol = 1094s git_options = None, stdin = None, merge_annex_branches = True, kwargs = {} 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s runner = 1094s env = None 1094s out_of_space_re = 1094s 1094s def _call_annex(self, args, files=None, jobs=None, protocol=StdOutErrCapture, 1094s git_options=None, stdin=None, merge_annex_branches=True, 1094s **kwargs): 1094s """Internal helper to run git-annex commands 1094s 1094s Standard command options are applied in addition to the given arguments, 1094s and certain error conditions are detected (if possible) and dedicated 1094s exceptions are raised. 1094s 1094s Parameters 1094s ---------- 1094s args: list 1094s List of git-annex command arguments. 1094s files: list, optional 1094s If command passes list of files. If list is too long 1094s (by number of files or overall size) it will be split, and multiple 1094s command invocations will follow 1094s jobs : int or 'auto', optional 1094s If 'auto', the number of jobs will be determined automatically, 1094s informed by the configuration setting 1094s 'datalad.runtime.max-annex-jobs'. 1094s protocol : WitlessProtocol, optional 1094s Protocol class to pass to GitWitlessRunner.run(). By default this is 1094s StdOutErrCapture, which will provide default logging behavior and 1094s guarantee that stdout/stderr are included in potential CommandError 1094s exception. 1094s git_options: list, optional 1094s Additional arguments for Git to include in the git-annex call 1094s (in a position prior to the 'annex' subcommand. 1094s stdin: File-like, optional 1094s stdin to connect to the git-annex process. Only used when `files` 1094s is None. 1094s merge_annex_branches: bool, optional 1094s If False, annex.merge-annex-branches=false config will be set for 1094s git-annex call. Useful for operations which are not intended to 1094s benefit from updating information about remote git-annexes 1094s **kwargs: 1094s Additional arguments are passed on to the WitlessProtocol constructor 1094s 1094s Returns 1094s ------- 1094s dict 1094s Return value of WitlessRunner.run(). The content of the dict is 1094s determined by the given `protocol`. By default, it provides git-annex's 1094s stdout and stderr (under these key names) 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s If the call exits with a non-zero status. 1094s 1094s OutOfSpaceError 1094s If a corresponding statement was detected in git-annex's output on 1094s stderr. Only supported if the given protocol captured stderr. 1094s 1094s RemoteNotAvailableError 1094s If a corresponding statement was detected in git-annex's output on 1094s stderr. Only supported if the given protocol captured stderr. 1094s """ 1094s if self.git_annex_version is None: 1094s self._check_git_annex_version() 1094s 1094s # git portion of the command 1094s cmd = ['git'] + self._ANNEX_GIT_COMMON_OPTIONS 1094s 1094s if git_options: 1094s cmd += git_options 1094s 1094s if not self.always_commit: 1094s cmd += ['-c', 'annex.alwayscommit=false'] 1094s 1094s if not merge_annex_branches: 1094s cmd += ['-c', 'annex.merge-annex-branches=false'] 1094s 1094s # annex portion of the command 1094s cmd.append('annex') 1094s cmd += args 1094s 1094s if lgr.getEffectiveLevel() <= 8: 1094s cmd.append('--debug') 1094s 1094s if self._annex_common_options: 1094s cmd += self._annex_common_options 1094s 1094s if jobs == 'auto': 1094s # Limit to # of CPUs (but at least 3 to start with) 1094s # and also an additional config constraint (by default 1 1094s # due to https://github.com/datalad/datalad/issues/4404) 1094s jobs = self._n_auto_jobs or min( 1094s self.config.obtain('datalad.runtime.max-annex-jobs'), 1094s max(3, cpu_count())) 1094s # cache result to avoid repeated calls to cpu_count() 1094s self._n_auto_jobs = jobs 1094s if jobs and jobs != 1: 1094s cmd.append('-J%d' % jobs) 1094s 1094s runner = self._git_runner 1094s env = None 1094s if self.fake_dates_enabled: 1094s env = self.add_fake_dates(runner.env) 1094s 1094s try: 1094s if files: 1094s if issubclass(protocol, GeneratorMixIn): 1094s return runner.run_on_filelist_chunks_items_( 1094s cmd, 1094s files, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s else: 1094s return runner.run_on_filelist_chunks( 1094s cmd, 1094s files, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s else: 1094s > return runner.run( 1094s cmd, 1094s stdin=stdin, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:997: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s protocol = , stdin = None 1094s cwd = None, env = None, timeout = None, exception_on_error = True, kwargs = {} 1094s applied_cwd = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/dataset7') 1094s applied_env = {'ADTTMP': '/tmp/autopkgtest.WXFAly/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-ar...: 'python-psutil/5.9.8-2build3', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-artifacts', ...} 1094s threaded_runner = 1094s results_or_iterator = {'code': 1, 'stderr': ' not enough free space, need 100 MB more (use --force to override this check or adjust annex.d...remove0/testdeposit/testfile1.txt (from myuncurl) (to /tmp/pytest-of-ubuntu/pytest-0/dataset7/target1.txt) \nfailed\n'} 1094s results = {'code': 1, 'stderr': ' not enough free space, need 100 MB more (use --force to override this check or adjust annex.d...remove0/testdeposit/testfile1.txt (from myuncurl) (to /tmp/pytest-of-ubuntu/pytest-0/dataset7/target1.txt) \nfailed\n'} 1094s return_code = 1 1094s 1094s def run(self, 1094s cmd: list | str, 1094s protocol: type[WitlessProtocol] | None = None, 1094s stdin: bytes | IO | Queue | None = None, 1094s cwd: PathLike | str | None = None, 1094s env: dict | None = None, 1094s timeout: float | None = None, 1094s exception_on_error: bool = True, 1094s **kwargs) -> dict | _ResultGenerator: 1094s """Execute a command and communicate with it. 1094s 1094s Parameters 1094s ---------- 1094s cmd : list or str 1094s Sequence of program arguments. Passing a single string causes 1094s execution via the platform shell. 1094s protocol : WitlessProtocol, optional 1094s Protocol class handling interaction with the running process 1094s (e.g. output capture). A number of pre-crafted classes are 1094s provided (e.g `KillOutput`, `NoCapture`, `GitProgress`). 1094s If the protocol has the GeneratorMixIn-mixin, the run-method 1094s will return an iterator and can therefore be used in a for-clause. 1094s stdin : file-like, bytes, Queue, or None 1094s If stdin is a file-like, it will be directly used as stdin for the 1094s subprocess. The caller is responsible for writing to it and closing it. 1094s If stdin is a bytes, it will be fed to stdin of the subprocess. 1094s If all data is written, stdin will be closed. 1094s If stdin is a Queue, all elements (bytes) put into the Queue will 1094s be passed to stdin until None is read from the queue. If None is read, 1094s stdin of the subprocess is closed. 1094s cwd : str or path-like, optional 1094s If given, commands are executed with this path as PWD, 1094s the PWD of the parent process is used otherwise. Overrides 1094s any `cwd` given to the constructor. 1094s env : dict, optional 1094s Environment to be used for command execution. If given, it will 1094s completely replace any environment provided to theconstructor. If 1094s `cwd` is given, 'PWD' in the environment is set to its value. 1094s This must be a complete environment definition, no values 1094s from the current environment will be inherited. Overrides 1094s any `env` given to the constructor. 1094s timeout: float, optional 1094s None or the seconds after which a timeout callback is 1094s invoked, if no progress was made in communicating with 1094s the sub-process, or if waiting for the subprocess exit 1094s took more than the specified time. See the protocol and 1094s `ThreadedRunner` descriptions for a more detailed discussion 1094s on timeouts. 1094s exception_on_error : bool, optional 1094s This argument is first interpreted if the protocol is a subclass 1094s of `GeneratorMixIn`. If it is `True` (default), a 1094s `CommandErrorException` is raised by the generator if the 1094s sub process exited with a return code not equal to zero. If the 1094s parameter is `False`, no exception is raised. In both cases the 1094s return code can be read from the attribute `return_code` of 1094s the generator. Then this argument interpreted within this function 1094s to not raise `CommandError` if value is False in case of non-0 exit. 1094s kwargs : 1094s Passed to the Protocol class constructor. 1094s 1094s Returns 1094s ------- 1094s dict | _ResultGenerator 1094s 1094s If the protocol is not a subclass of `GeneratorMixIn`, the 1094s result of protocol._prepare_result will be returned. 1094s 1094s If the protocol is a subclass of `GeneratorMixIn`, a Generator, i.e. 1094s a `_ResultGenerator`, will be returned. This allows to use this 1094s method in constructs like: 1094s 1094s for protocol_output in runner.run(): 1094s ... 1094s 1094s Where the iterator yields whatever protocol.pipe_data_received 1094s sends into the generator. 1094s If all output was yielded and the process has terminated, the 1094s generator will raise StopIteration(return_code), where 1094s return_code is the return code of the process. The return code 1094s of the process will also be stored in the "return_code"-attribute 1094s of the runner. So you could write: 1094s 1094s gen = runner.run() 1094s for file_descriptor, data in gen: 1094s ... 1094s 1094s # get the return code of the process 1094s result = gen.return_code 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s On execution failure (non-zero exit code) this exception is 1094s raised which provides the command (cmd), stdout, stderr, 1094s exit code (status), and a message identifying the failed 1094s command, as properties. 1094s FileNotFoundError 1094s When a given executable does not exist. 1094s """ 1094s if protocol is None: 1094s # by default let all subprocess stream pass through 1094s protocol = NoCapture 1094s 1094s applied_cwd = cwd or self.cwd 1094s applied_env = self._get_adjusted_env( 1094s env=env or self.env, 1094s cwd=applied_cwd, 1094s ) 1094s 1094s lgr.debug( 1094s 'Run %r (protocol_class=%s) (cwd=%s)', 1094s cmd, 1094s protocol.__name__, 1094s applied_cwd 1094s ) 1094s 1094s threaded_runner = ThreadedRunner( 1094s cmd=cmd, 1094s protocol_class=protocol, 1094s stdin=stdin, 1094s protocol_kwargs=kwargs, 1094s timeout=timeout, 1094s exception_on_error=exception_on_error, 1094s cwd=applied_cwd, 1094s env=applied_env 1094s ) 1094s 1094s results_or_iterator = threaded_runner.run() 1094s if issubclass(protocol, GeneratorMixIn): 1094s return results_or_iterator 1094s 1094s results = cast(dict, results_or_iterator) 1094s # log before any exception is raised 1094s lgr.debug("Finished %r with status %s", cmd, results['code']) 1094s 1094s # make it such that we always blow if a protocol did not report 1094s # a return code at all or it was non-0 and we were not asked ignore 1094s # errors 1094s return_code = results.get('code', None) 1094s if return_code is None or (return_code and exception_on_error): 1094s # the runner has a better idea, doc string warns Protocol 1094s # implementations not to return these 1094s results.pop('cmd', None) 1094s results.pop('cwd', None) 1094s > raise CommandError( 1094s # whatever the results were, we carry them forward 1094s cmd=cmd, 1094s cwd=applied_cwd, 1094s **results, 1094s ) 1094s E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false annex addurl --file /tmp/pytest-of-ubuntu/pytest-0/dataset7/target1.txt file:///tmp/pytest-of-ubuntu/pytest-0/test_uncurl_remove0/testdeposit/testfile1.txt -c annex.dotfiles=true' failed with exitcode 1 under /tmp/pytest-of-ubuntu/pytest-0/dataset7 [out: 'addurl file:///tmp/pytest-of-ubuntu/pytest-0/test_uncurl_remove0/testdeposit/testfile1.txt (from myuncurl) (to /tmp/pytest-of-ubuntu/pytest-0/dataset7/target1.txt) 1094s E failed'] [err: 'not enough free space, need 100 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E addurl: 1 failed'] 1094s 1094s /usr/lib/python3/dist-packages/datalad/runner/runner.py:242: CommandError 1094s 1094s During handling of the above exception, another exception occurred: 1094s 1094s existing_dataset = Dataset('/tmp/pytest-of-ubuntu/pytest-0/dataset7') 1094s tmp_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_uncurl_remove0') 1094s no_result_rendering = None 1094s 1094s def test_uncurl_remove(existing_dataset, tmp_path, no_result_rendering): 1094s testfile = tmp_path / 'testdeposit' / 'testfile1.txt' 1094s testfile_content = 'uppytyup!' 1094s testfile.parent.mkdir() 1094s testfile.write_text(testfile_content) 1094s ds = existing_dataset 1094s dsca = ds.repo.call_annex 1094s # init without URL template 1094s dsca(['initremote', 'myuncurl'] + std_initargs) 1094s # add the testdeposit by URL 1094s target_fname = ds.pathobj / 'target1.txt' 1094s > dsca(['addurl', '--file', str(target_fname), testfile.as_uri()]) 1094s 1094s ../build.vXv/src/datalad_next/annexremotes/tests/test_uncurl.py:414: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1318: in call_annex 1094s return self._call_annex( 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = AnnexRepo('/tmp/pytest-of-ubuntu/pytest-0/dataset7') 1094s args = ['addurl', '--file', '/tmp/pytest-of-ubuntu/pytest-0/dataset7/target1.txt', 'file:///tmp/pytest-of-ubuntu/pytest-0/test_uncurl_remove0/testdeposit/testfile1.txt'] 1094s files = None, jobs = None 1094s protocol = 1094s git_options = None, stdin = None, merge_annex_branches = True, kwargs = {} 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s runner = 1094s env = None 1094s out_of_space_re = 1094s 1094s def _call_annex(self, args, files=None, jobs=None, protocol=StdOutErrCapture, 1094s git_options=None, stdin=None, merge_annex_branches=True, 1094s **kwargs): 1094s """Internal helper to run git-annex commands 1094s 1094s Standard command options are applied in addition to the given arguments, 1094s and certain error conditions are detected (if possible) and dedicated 1094s exceptions are raised. 1094s 1094s Parameters 1094s ---------- 1094s args: list 1094s List of git-annex command arguments. 1094s files: list, optional 1094s If command passes list of files. If list is too long 1094s (by number of files or overall size) it will be split, and multiple 1094s command invocations will follow 1094s jobs : int or 'auto', optional 1094s If 'auto', the number of jobs will be determined automatically, 1094s informed by the configuration setting 1094s 'datalad.runtime.max-annex-jobs'. 1094s protocol : WitlessProtocol, optional 1094s Protocol class to pass to GitWitlessRunner.run(). By default this is 1094s StdOutErrCapture, which will provide default logging behavior and 1094s guarantee that stdout/stderr are included in potential CommandError 1094s exception. 1094s git_options: list, optional 1094s Additional arguments for Git to include in the git-annex call 1094s (in a position prior to the 'annex' subcommand. 1094s stdin: File-like, optional 1094s stdin to connect to the git-annex process. Only used when `files` 1094s is None. 1094s merge_annex_branches: bool, optional 1094s If False, annex.merge-annex-branches=false config will be set for 1094s git-annex call. Useful for operations which are not intended to 1094s benefit from updating information about remote git-annexes 1094s **kwargs: 1094s Additional arguments are passed on to the WitlessProtocol constructor 1094s 1094s Returns 1094s ------- 1094s dict 1094s Return value of WitlessRunner.run(). The content of the dict is 1094s determined by the given `protocol`. By default, it provides git-annex's 1094s stdout and stderr (under these key names) 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s If the call exits with a non-zero status. 1094s 1094s OutOfSpaceError 1094s If a corresponding statement was detected in git-annex's output on 1094s stderr. Only supported if the given protocol captured stderr. 1094s 1094s RemoteNotAvailableError 1094s If a corresponding statement was detected in git-annex's output on 1094s stderr. Only supported if the given protocol captured stderr. 1094s """ 1094s if self.git_annex_version is None: 1094s self._check_git_annex_version() 1094s 1094s # git portion of the command 1094s cmd = ['git'] + self._ANNEX_GIT_COMMON_OPTIONS 1094s 1094s if git_options: 1094s cmd += git_options 1094s 1094s if not self.always_commit: 1094s cmd += ['-c', 'annex.alwayscommit=false'] 1094s 1094s if not merge_annex_branches: 1094s cmd += ['-c', 'annex.merge-annex-branches=false'] 1094s 1094s # annex portion of the command 1094s cmd.append('annex') 1094s cmd += args 1094s 1094s if lgr.getEffectiveLevel() <= 8: 1094s cmd.append('--debug') 1094s 1094s if self._annex_common_options: 1094s cmd += self._annex_common_options 1094s 1094s if jobs == 'auto': 1094s # Limit to # of CPUs (but at least 3 to start with) 1094s # and also an additional config constraint (by default 1 1094s # due to https://github.com/datalad/datalad/issues/4404) 1094s jobs = self._n_auto_jobs or min( 1094s self.config.obtain('datalad.runtime.max-annex-jobs'), 1094s max(3, cpu_count())) 1094s # cache result to avoid repeated calls to cpu_count() 1094s self._n_auto_jobs = jobs 1094s if jobs and jobs != 1: 1094s cmd.append('-J%d' % jobs) 1094s 1094s runner = self._git_runner 1094s env = None 1094s if self.fake_dates_enabled: 1094s env = self.add_fake_dates(runner.env) 1094s 1094s try: 1094s if files: 1094s if issubclass(protocol, GeneratorMixIn): 1094s return runner.run_on_filelist_chunks_items_( 1094s cmd, 1094s files, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s else: 1094s return runner.run_on_filelist_chunks( 1094s cmd, 1094s files, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s else: 1094s return runner.run( 1094s cmd, 1094s stdin=stdin, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s except CommandError as e: 1094s # Note: A call might result in several 'failures', that can be or 1094s # cannot be handled here. Detection of something, we can deal with, 1094s # doesn't mean there's nothing else to deal with. 1094s 1094s # OutOfSpaceError: 1094s # Note: 1094s # doesn't depend on anything in stdout. Therefore check this before 1094s # dealing with stdout 1094s out_of_space_re = re.search( 1094s "not enough free space, need (.*) more", e.stderr 1094s ) 1094s if out_of_space_re: 1094s > raise OutOfSpaceError(cmd=['annex'] + args, 1094s sizemore_msg=out_of_space_re.groups()[0]) 1094s E datalad.support.exceptions.OutOfSpaceError: OutOfSpaceError: 'annex addurl --file /tmp/pytest-of-ubuntu/pytest-0/dataset7/target1.txt file:///tmp/pytest-of-ubuntu/pytest-0/test_uncurl_remove0/testdeposit/testfile1.txt' needs 100 MB more 1094s 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1016: OutOfSpaceError 1094s ____________________________ test_uncurl_testremote ____________________________ 1094s 1094s self = AnnexRepo('/tmp/pytest-of-ubuntu/pytest-0/dataset8') 1094s args = ['testremote', '--quiet', 'myuncurl'], files = None, jobs = None 1094s protocol = 1094s git_options = None, stdin = None, merge_annex_branches = True, kwargs = {} 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s runner = 1094s env = None 1094s out_of_space_re = 1094s 1094s def _call_annex(self, args, files=None, jobs=None, protocol=StdOutErrCapture, 1094s git_options=None, stdin=None, merge_annex_branches=True, 1094s **kwargs): 1094s """Internal helper to run git-annex commands 1094s 1094s Standard command options are applied in addition to the given arguments, 1094s and certain error conditions are detected (if possible) and dedicated 1094s exceptions are raised. 1094s 1094s Parameters 1094s ---------- 1094s args: list 1094s List of git-annex command arguments. 1094s files: list, optional 1094s If command passes list of files. If list is too long 1094s (by number of files or overall size) it will be split, and multiple 1094s command invocations will follow 1094s jobs : int or 'auto', optional 1094s If 'auto', the number of jobs will be determined automatically, 1094s informed by the configuration setting 1094s 'datalad.runtime.max-annex-jobs'. 1094s protocol : WitlessProtocol, optional 1094s Protocol class to pass to GitWitlessRunner.run(). By default this is 1094s StdOutErrCapture, which will provide default logging behavior and 1094s guarantee that stdout/stderr are included in potential CommandError 1094s exception. 1094s git_options: list, optional 1094s Additional arguments for Git to include in the git-annex call 1094s (in a position prior to the 'annex' subcommand. 1094s stdin: File-like, optional 1094s stdin to connect to the git-annex process. Only used when `files` 1094s is None. 1094s merge_annex_branches: bool, optional 1094s If False, annex.merge-annex-branches=false config will be set for 1094s git-annex call. Useful for operations which are not intended to 1094s benefit from updating information about remote git-annexes 1094s **kwargs: 1094s Additional arguments are passed on to the WitlessProtocol constructor 1094s 1094s Returns 1094s ------- 1094s dict 1094s Return value of WitlessRunner.run(). The content of the dict is 1094s determined by the given `protocol`. By default, it provides git-annex's 1094s stdout and stderr (under these key names) 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s If the call exits with a non-zero status. 1094s 1094s OutOfSpaceError 1094s If a corresponding statement was detected in git-annex's output on 1094s stderr. Only supported if the given protocol captured stderr. 1094s 1094s RemoteNotAvailableError 1094s If a corresponding statement was detected in git-annex's output on 1094s stderr. Only supported if the given protocol captured stderr. 1094s """ 1094s if self.git_annex_version is None: 1094s self._check_git_annex_version() 1094s 1094s # git portion of the command 1094s cmd = ['git'] + self._ANNEX_GIT_COMMON_OPTIONS 1094s 1094s if git_options: 1094s cmd += git_options 1094s 1094s if not self.always_commit: 1094s cmd += ['-c', 'annex.alwayscommit=false'] 1094s 1094s if not merge_annex_branches: 1094s cmd += ['-c', 'annex.merge-annex-branches=false'] 1094s 1094s # annex portion of the command 1094s cmd.append('annex') 1094s cmd += args 1094s 1094s if lgr.getEffectiveLevel() <= 8: 1094s cmd.append('--debug') 1094s 1094s if self._annex_common_options: 1094s cmd += self._annex_common_options 1094s 1094s if jobs == 'auto': 1094s # Limit to # of CPUs (but at least 3 to start with) 1094s # and also an additional config constraint (by default 1 1094s # due to https://github.com/datalad/datalad/issues/4404) 1094s jobs = self._n_auto_jobs or min( 1094s self.config.obtain('datalad.runtime.max-annex-jobs'), 1094s max(3, cpu_count())) 1094s # cache result to avoid repeated calls to cpu_count() 1094s self._n_auto_jobs = jobs 1094s if jobs and jobs != 1: 1094s cmd.append('-J%d' % jobs) 1094s 1094s runner = self._git_runner 1094s env = None 1094s if self.fake_dates_enabled: 1094s env = self.add_fake_dates(runner.env) 1094s 1094s try: 1094s if files: 1094s if issubclass(protocol, GeneratorMixIn): 1094s return runner.run_on_filelist_chunks_items_( 1094s cmd, 1094s files, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s else: 1094s return runner.run_on_filelist_chunks( 1094s cmd, 1094s files, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s else: 1094s > return runner.run( 1094s cmd, 1094s stdin=stdin, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:997: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s protocol = , stdin = None 1094s cwd = None, env = None, timeout = None, exception_on_error = True, kwargs = {} 1094s applied_cwd = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/dataset8') 1094s applied_env = {'ADTTMP': '/tmp/autopkgtest.WXFAly/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-ar...: 'python-psutil/5.9.8-2build3', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-artifacts', ...} 1094s threaded_runner = 1094s results_or_iterator = {'code': 1, 'stderr': ' Cannot run git-annex-remote-!dne! -- It is not installed in PATH (/usr/lib/git-core:/usr/loca... OK\n remove export directory that is already removed: OK\n\n368 out of 573 tests failed (82.83s)\n'} 1094s results = {'code': 1, 'stderr': ' Cannot run git-annex-remote-!dne! -- It is not installed in PATH (/usr/lib/git-core:/usr/loca... OK\n remove export directory that is already removed: OK\n\n368 out of 573 tests failed (82.83s)\n'} 1094s return_code = 1 1094s 1094s def run(self, 1094s cmd: list | str, 1094s protocol: type[WitlessProtocol] | None = None, 1094s stdin: bytes | IO | Queue | None = None, 1094s cwd: PathLike | str | None = None, 1094s env: dict | None = None, 1094s timeout: float | None = None, 1094s exception_on_error: bool = True, 1094s **kwargs) -> dict | _ResultGenerator: 1094s """Execute a command and communicate with it. 1094s 1094s Parameters 1094s ---------- 1094s cmd : list or str 1094s Sequence of program arguments. Passing a single string causes 1094s execution via the platform shell. 1094s protocol : WitlessProtocol, optional 1094s Protocol class handling interaction with the running process 1094s (e.g. output capture). A number of pre-crafted classes are 1094s provided (e.g `KillOutput`, `NoCapture`, `GitProgress`). 1094s If the protocol has the GeneratorMixIn-mixin, the run-method 1094s will return an iterator and can therefore be used in a for-clause. 1094s stdin : file-like, bytes, Queue, or None 1094s If stdin is a file-like, it will be directly used as stdin for the 1094s subprocess. The caller is responsible for writing to it and closing it. 1094s If stdin is a bytes, it will be fed to stdin of the subprocess. 1094s If all data is written, stdin will be closed. 1094s If stdin is a Queue, all elements (bytes) put into the Queue will 1094s be passed to stdin until None is read from the queue. If None is read, 1094s stdin of the subprocess is closed. 1094s cwd : str or path-like, optional 1094s If given, commands are executed with this path as PWD, 1094s the PWD of the parent process is used otherwise. Overrides 1094s any `cwd` given to the constructor. 1094s env : dict, optional 1094s Environment to be used for command execution. If given, it will 1094s completely replace any environment provided to theconstructor. If 1094s `cwd` is given, 'PWD' in the environment is set to its value. 1094s This must be a complete environment definition, no values 1094s from the current environment will be inherited. Overrides 1094s any `env` given to the constructor. 1094s timeout: float, optional 1094s None or the seconds after which a timeout callback is 1094s invoked, if no progress was made in communicating with 1094s the sub-process, or if waiting for the subprocess exit 1094s took more than the specified time. See the protocol and 1094s `ThreadedRunner` descriptions for a more detailed discussion 1094s on timeouts. 1094s exception_on_error : bool, optional 1094s This argument is first interpreted if the protocol is a subclass 1094s of `GeneratorMixIn`. If it is `True` (default), a 1094s `CommandErrorException` is raised by the generator if the 1094s sub process exited with a return code not equal to zero. If the 1094s parameter is `False`, no exception is raised. In both cases the 1094s return code can be read from the attribute `return_code` of 1094s the generator. Then this argument interpreted within this function 1094s to not raise `CommandError` if value is False in case of non-0 exit. 1094s kwargs : 1094s Passed to the Protocol class constructor. 1094s 1094s Returns 1094s ------- 1094s dict | _ResultGenerator 1094s 1094s If the protocol is not a subclass of `GeneratorMixIn`, the 1094s result of protocol._prepare_result will be returned. 1094s 1094s If the protocol is a subclass of `GeneratorMixIn`, a Generator, i.e. 1094s a `_ResultGenerator`, will be returned. This allows to use this 1094s method in constructs like: 1094s 1094s for protocol_output in runner.run(): 1094s ... 1094s 1094s Where the iterator yields whatever protocol.pipe_data_received 1094s sends into the generator. 1094s If all output was yielded and the process has terminated, the 1094s generator will raise StopIteration(return_code), where 1094s return_code is the return code of the process. The return code 1094s of the process will also be stored in the "return_code"-attribute 1094s of the runner. So you could write: 1094s 1094s gen = runner.run() 1094s for file_descriptor, data in gen: 1094s ... 1094s 1094s # get the return code of the process 1094s result = gen.return_code 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s On execution failure (non-zero exit code) this exception is 1094s raised which provides the command (cmd), stdout, stderr, 1094s exit code (status), and a message identifying the failed 1094s command, as properties. 1094s FileNotFoundError 1094s When a given executable does not exist. 1094s """ 1094s if protocol is None: 1094s # by default let all subprocess stream pass through 1094s protocol = NoCapture 1094s 1094s applied_cwd = cwd or self.cwd 1094s applied_env = self._get_adjusted_env( 1094s env=env or self.env, 1094s cwd=applied_cwd, 1094s ) 1094s 1094s lgr.debug( 1094s 'Run %r (protocol_class=%s) (cwd=%s)', 1094s cmd, 1094s protocol.__name__, 1094s applied_cwd 1094s ) 1094s 1094s threaded_runner = ThreadedRunner( 1094s cmd=cmd, 1094s protocol_class=protocol, 1094s stdin=stdin, 1094s protocol_kwargs=kwargs, 1094s timeout=timeout, 1094s exception_on_error=exception_on_error, 1094s cwd=applied_cwd, 1094s env=applied_env 1094s ) 1094s 1094s results_or_iterator = threaded_runner.run() 1094s if issubclass(protocol, GeneratorMixIn): 1094s return results_or_iterator 1094s 1094s results = cast(dict, results_or_iterator) 1094s # log before any exception is raised 1094s lgr.debug("Finished %r with status %s", cmd, results['code']) 1094s 1094s # make it such that we always blow if a protocol did not report 1094s # a return code at all or it was non-0 and we were not asked ignore 1094s # errors 1094s return_code = results.get('code', None) 1094s if return_code is None or (return_code and exception_on_error): 1094s # the runner has a better idea, doc string warns Protocol 1094s # implementations not to return these 1094s results.pop('cmd', None) 1094s results.pop('cwd', None) 1094s > raise CommandError( 1094s # whatever the results were, we carry them forward 1094s cmd=cmd, 1094s cwd=applied_cwd, 1094s **results, 1094s ) 1094s E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false annex testremote --quiet myuncurl -c annex.dotfiles=true' failed with exitcode 1 under /tmp/pytest-of-ubuntu/pytest-0/dataset8 [out: 'Remote Tests 1094s E unavailable remote 1094s E removeKey: OK 1094s E storeKey: OK 1094s E checkPresent: OK 1094s E retrieveKeyFile: OK 1094s E retrieveKeyFileCheap: OK 1094s E key size Just 1048576; remote chunksize=0 encryption=none 1094s E removeKey when not present: OK (1.45s) 1094s E present False: OK 1094s E storeKey: OK 1094s E present True: OK 1094s E storeKey when already present: OK 1094s E present True: OK 1094s E retrieveKeyFile: FAIL 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=0 encryption=none.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=0 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048576; remote chunksize=0 encryption=none.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=0 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 1048576; remote chunksize=0 encryption=none.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=0 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.05s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048576; remote chunksize=0 encryption=none.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=0 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (0.05s) 1094s E present False: OK 1094s E key size Just 1048576; remote chunksize=0 encryption=shared 1094s E removeKey when not present: OK (1.49s) 1094s E present False: OK 1094s E storeKey: FAIL 1094s E Exception: content not available to send 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=0 encryption=shared.storeKey"' to rerun this test only. 1094s E present True: FAIL 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=0 encryption=shared.present True"' to rerun this test only. 1094s E storeKey when already present: FAIL 1094s E Exception: content not available to send 1094s E Use -p '/key size Just 1048576; remote chunksize=0 encryption=shared.storeKey when already present/' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=0 encryption=shared.present True"' to rerun this test only. 1094s E retrieveKeyFile: FAIL 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=0 encryption=shared.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=0 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048576; remote chunksize=0 encryption=shared.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=0 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 1048576; remote chunksize=0 encryption=shared.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=0 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048576; remote chunksize=0 encryption=shared.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=0 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (0.03s) 1094s E present False: OK 1094s E key size Just 1048576; remote chunksize=10485 encryption=none 1094s E removeKey when not present: OK (1.71s) 1094s E present False: OK (0.01s) 1094s E storeKey: FAIL 1094s E Exception: content not available to send 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=10485 encryption=none.storeKey"' to rerun this test only. 1094s E present True: FAIL 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=10485 encryption=none.present True"' to rerun this test only. 1094s E storeKey when already present: FAIL 1094s E Exception: content not available to send 1094s E Use -p '/key size Just 1048576; remote chunksize=10485 encryption=none.storeKey when already present/' to rerun this test only. 1094s E present True: FAIL (0.04s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=10485 encryption=none.present True"' to rerun this test only. 1094s E retrieveKeyFile: FAIL 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=10485 encryption=none.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=10485 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048576; remote chunksize=10485 encryption=none.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=10485 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 1048576; remote chunksize=10485 encryption=none.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=10485 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.01s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048576; remote chunksize=10485 encryption=none.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=10485 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (0.32s) 1094s E present False: OK (0.01s) 1094s E key size Just 1048576; remote chunksize=10485 encryption=shared 1094s E removeKey when not present: OK (1.74s) 1094s E present False: OK 1094s E storeKey: FAIL 1094s E Exception: content not available to send 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=10485 encryption=shared.storeKey"' to rerun this test only. 1094s E present True: FAIL 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=10485 encryption=shared.present True"' to rerun this test only. 1094s E storeKey when already present: FAIL 1094s E Exception: content not available to send 1094s E Use -p '/key size Just 1048576; remote chunksize=10485 encryption=shared.storeKey when already present/' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=10485 encryption=shared.present True"' to rerun this test only. 1094s E retrieveKeyFile: FAIL 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=10485 encryption=shared.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=10485 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048576; remote chunksize=10485 encryption=shared.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=10485 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 1048576; remote chunksize=10485 encryption=shared.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=10485 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048576; remote chunksize=10485 encryption=shared.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=10485 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (0.30s) 1094s E present False: OK 1094s E key size Just 1048576; remote chunksize=1048 encryption=none 1094s E removeKey when not present: OK (4.50s) 1094s E present False: OK 1094s E storeKey: FAIL 1094s E Exception: content not available to send 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048 encryption=none.storeKey"' to rerun this test only. 1094s E present True: FAIL (0.01s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048 encryption=none.present True"' to rerun this test only. 1094s E storeKey when already present: FAIL 1094s E Exception: content not available to send 1094s E Use -p '/key size Just 1048576; remote chunksize=1048 encryption=none.storeKey when already present/' to rerun this test only. 1094s E present True: FAIL (0.04s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048 encryption=none.present True"' to rerun this test only. 1094s E retrieveKeyFile: FAIL 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048 encryption=none.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL (0.01s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048576; remote chunksize=1048 encryption=none.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 1048576; remote chunksize=1048 encryption=none.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048576; remote chunksize=1048 encryption=none.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (2.92s) 1094s E present False: OK 1094s E key size Just 1048576; remote chunksize=1048 encryption=shared 1094s E removeKey when not present: OK (4.34s) 1094s E present False: OK 1094s E storeKey: FAIL 1094s E Exception: content not available to send 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048 encryption=shared.storeKey"' to rerun this test only. 1094s E present True: FAIL (0.01s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048 encryption=shared.present True"' to rerun this test only. 1094s E storeKey when already present: FAIL 1094s E Exception: content not available to send 1094s E Use -p '/key size Just 1048576; remote chunksize=1048 encryption=shared.storeKey when already present/' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048 encryption=shared.present True"' to rerun this test only. 1094s E retrieveKeyFile: FAIL 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048 encryption=shared.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048576; remote chunksize=1048 encryption=shared.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 1048576; remote chunksize=1048 encryption=shared.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048576; remote chunksize=1048 encryption=shared.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (2.82s) 1094s E present False: OK 1094s E key size Just 1048576; remote chunksize=1048576 encryption=none 1094s E removeKey when not present: OK (1.46s) 1094s E present False: OK 1094s E storeKey: FAIL 1094s E Exception: content not available to send 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048576 encryption=none.storeKey"' to rerun this test only. 1094s E present True: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048576 encryption=none.present True"' to rerun this test only. 1094s E storeKey when already present: FAIL 1094s E Exception: content not available to send 1094s E Use -p '/key size Just 1048576; remote chunksize=1048576 encryption=none.storeKey when already present/' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048576 encryption=none.present True"' to rerun this test only. 1094s E retrieveKeyFile: FAIL 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048576 encryption=none.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048576 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048576; remote chunksize=1048576 encryption=none.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048576 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 1048576; remote chunksize=1048576 encryption=none.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048576 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048576; remote chunksize=1048576 encryption=none.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048576 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (0.02s) 1094s E present False: OK (0.01s) 1094s E key size Just 1048576; remote chunksize=1048576 encryption=shared 1094s E removeKey when not present: OK (1.46s) 1094s E present False: OK 1094s E storeKey: FAIL 1094s E Exception: content not available to send 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048576 encryption=shared.storeKey"' to rerun this test only. 1094s E present True: FAIL (0.01s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048576 encryption=shared.present True"' to rerun this test only. 1094s E storeKey when already present: FAIL 1094s E Exception: content not available to send 1094s E Use -p '/key size Just 1048576; remote chunksize=1048576 encryption=shared.storeKey when already present/' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048576 encryption=shared.present True"' to rerun this test only. 1094s E retrieveKeyFile: FAIL (0.01s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048576 encryption=shared.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048576 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL (0.01s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048576; remote chunksize=1048576 encryption=shared.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048576 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 1048576; remote chunksize=1048576 encryption=shared.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048576 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.04s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048576; remote chunksize=1048576 encryption=shared.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048576; remote chunksize=1048576 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (0.03s) 1094s E present False: OK 1094s E key size Just 1048577; remote chunksize=0 encryption=none 1094s E removeKey when not present: OK 1094s E present False: OK 1094s E storeKey: OK 1094s E present True: OK 1094s E storeKey when already present: OK 1094s E present True: OK 1094s E retrieveKeyFile: FAIL 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=0 encryption=none.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=0 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048577; remote chunksize=0 encryption=none.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=0 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 1048577; remote chunksize=0 encryption=none.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=0 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.04s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048577; remote chunksize=0 encryption=none.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=0 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (0.03s) 1094s E present False: OK 1094s E key size Just 1048577; remote chunksize=0 encryption=shared 1094s E removeKey when not present: OK 1094s E present False: OK 1094s E storeKey: FAIL 1094s E Exception: content not available to send 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=0 encryption=shared.storeKey"' to rerun this test only. 1094s E present True: FAIL (0.01s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=0 encryption=shared.present True"' to rerun this test only. 1094s E storeKey when already present: FAIL 1094s E Exception: content not available to send 1094s E Use -p '/key size Just 1048577; remote chunksize=0 encryption=shared.storeKey when already present/' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=0 encryption=shared.present True"' to rerun this test only. 1094s E retrieveKeyFile: FAIL (0.01s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=0 encryption=shared.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=0 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL (0.01s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048577; remote chunksize=0 encryption=shared.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=0 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 1048577; remote chunksize=0 encryption=shared.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=0 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048577; remote chunksize=0 encryption=shared.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=0 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (0.01s) 1094s E present False: OK 1094s E key size Just 1048577; remote chunksize=10485 encryption=none 1094s E removeKey when not present: OK (0.32s) 1094s E present False: OK 1094s E storeKey: FAIL 1094s E Exception: content not available to send 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=10485 encryption=none.storeKey"' to rerun this test only. 1094s E present True: FAIL (0.01s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=10485 encryption=none.present True"' to rerun this test only. 1094s E storeKey when already present: FAIL 1094s E Exception: content not available to send 1094s E Use -p '/key size Just 1048577; remote chunksize=10485 encryption=none.storeKey when already present/' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=10485 encryption=none.present True"' to rerun this test only. 1094s E retrieveKeyFile: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=10485 encryption=none.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=10485 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL (0.01s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048577; remote chunksize=10485 encryption=none.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=10485 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 1048577; remote chunksize=10485 encryption=none.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=10485 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.04s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048577; remote chunksize=10485 encryption=none.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=10485 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (0.33s) 1094s E present False: OK 1094s E key size Just 1048577; remote chunksize=10485 encryption=shared 1094s E removeKey when not present: OK (0.26s) 1094s E present False: OK 1094s E storeKey: FAIL 1094s E Exception: content not available to send 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=10485 encryption=shared.storeKey"' to rerun this test only. 1094s E present True: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=10485 encryption=shared.present True"' to rerun this test only. 1094s E storeKey when already present: FAIL 1094s E Exception: content not available to send 1094s E Use -p '/key size Just 1048577; remote chunksize=10485 encryption=shared.storeKey when already present/' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=10485 encryption=shared.present True"' to rerun this test only. 1094s E retrieveKeyFile: FAIL (0.01s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=10485 encryption=shared.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=10485 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048577; remote chunksize=10485 encryption=shared.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=10485 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 1048577; remote chunksize=10485 encryption=shared.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=10485 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.01s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048577; remote chunksize=10485 encryption=shared.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=10485 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (0.30s) 1094s E present False: OK 1094s E key size Just 1048577; remote chunksize=1048 encryption=none 1094s E removeKey when not present: OK (3.05s) 1094s E present False: OK 1094s E storeKey: FAIL 1094s E Exception: content not available to send 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048 encryption=none.storeKey"' to rerun this test only. 1094s E present True: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048 encryption=none.present True"' to rerun this test only. 1094s E storeKey when already present: FAIL 1094s E Exception: content not available to send 1094s E Use -p '/key size Just 1048577; remote chunksize=1048 encryption=none.storeKey when already present/' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048 encryption=none.present True"' to rerun this test only. 1094s E retrieveKeyFile: FAIL (0.01s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048 encryption=none.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL (0.01s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048577; remote chunksize=1048 encryption=none.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 1048577; remote chunksize=1048 encryption=none.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.04s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048577; remote chunksize=1048 encryption=none.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (2.84s) 1094s E present False: OK 1094s E key size Just 1048577; remote chunksize=1048 encryption=shared 1094s E removeKey when not present: OK (2.79s) 1094s E present False: OK 1094s E storeKey: FAIL 1094s E Exception: content not available to send 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048 encryption=shared.storeKey"' to rerun this test only. 1094s E present True: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048 encryption=shared.present True"' to rerun this test only. 1094s E storeKey when already present: FAIL 1094s E Exception: content not available to send 1094s E Use -p '/key size Just 1048577; remote chunksize=1048 encryption=shared.storeKey when already present/' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048 encryption=shared.present True"' to rerun this test only. 1094s E retrieveKeyFile: FAIL (0.01s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048 encryption=shared.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL (0.01s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048577; remote chunksize=1048 encryption=shared.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 1048577; remote chunksize=1048 encryption=shared.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048577; remote chunksize=1048 encryption=shared.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (2.68s) 1094s E present False: OK 1094s E key size Just 1048577; remote chunksize=1048576 encryption=none 1094s E removeKey when not present: OK 1094s E present False: OK 1094s E storeKey: FAIL 1094s E Exception: content not available to send 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048576 encryption=none.storeKey"' to rerun this test only. 1094s E present True: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048576 encryption=none.present True"' to rerun this test only. 1094s E storeKey when already present: FAIL 1094s E Exception: content not available to send 1094s E Use -p '/key size Just 1048577; remote chunksize=1048576 encryption=none.storeKey when already present/' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048576 encryption=none.present True"' to rerun this test only. 1094s E retrieveKeyFile: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048576 encryption=none.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048576 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048577; remote chunksize=1048576 encryption=none.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048576 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 1048577; remote chunksize=1048576 encryption=none.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048576 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048577; remote chunksize=1048576 encryption=none.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048576 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (0.03s) 1094s E present False: OK (0.01s) 1094s E key size Just 1048577; remote chunksize=1048576 encryption=shared 1094s E removeKey when not present: OK (0.01s) 1094s E present False: OK 1094s E storeKey: FAIL 1094s E Exception: content not available to send 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048576 encryption=shared.storeKey"' to rerun this test only. 1094s E present True: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048576 encryption=shared.present True"' to rerun this test only. 1094s E storeKey when already present: FAIL 1094s E Exception: content not available to send 1094s E Use -p '/key size Just 1048577; remote chunksize=1048576 encryption=shared.storeKey when already present/' to rerun this test only. 1094s E present True: FAIL (0.04s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048576 encryption=shared.present True"' to rerun this test only. 1094s E retrieveKeyFile: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048576 encryption=shared.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048576 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048577; remote chunksize=1048576 encryption=shared.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048576 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 1048577; remote chunksize=1048576 encryption=shared.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048576 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048577; remote chunksize=1048576 encryption=shared.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048577; remote chunksize=1048576 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (0.02s) 1094s E present False: OK (0.02s) 1094s E key size Just 1048575; remote chunksize=0 encryption=none 1094s E removeKey when not present: OK 1094s E present False: OK 1094s E storeKey: OK 1094s E present True: OK 1094s E storeKey when already present: OK 1094s E present True: OK 1094s E retrieveKeyFile: FAIL 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=0 encryption=none.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=0 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048575; remote chunksize=0 encryption=none.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=0 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 1048575; remote chunksize=0 encryption=none.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=0 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048575; remote chunksize=0 encryption=none.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=0 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (0.08s) 1094s E present False: OK 1094s E key size Just 1048575; remote chunksize=0 encryption=shared 1094s E removeKey when not present: OK 1094s E present False: OK 1094s E storeKey: FAIL 1094s E Exception: content not available to send 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=0 encryption=shared.storeKey"' to rerun this test only. 1094s E present True: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=0 encryption=shared.present True"' to rerun this test only. 1094s E storeKey when already present: FAIL 1094s E Exception: content not available to send 1094s E Use -p '/key size Just 1048575; remote chunksize=0 encryption=shared.storeKey when already present/' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=0 encryption=shared.present True"' to rerun this test only. 1094s E retrieveKeyFile: FAIL (0.01s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=0 encryption=shared.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=0 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048575; remote chunksize=0 encryption=shared.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=0 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 1048575; remote chunksize=0 encryption=shared.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=0 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048575; remote chunksize=0 encryption=shared.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=0 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (0.02s) 1094s E present False: OK 1094s E key size Just 1048575; remote chunksize=10485 encryption=none 1094s E removeKey when not present: OK (0.35s) 1094s E present False: OK 1094s E storeKey: FAIL 1094s E Exception: content not available to send 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=10485 encryption=none.storeKey"' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=10485 encryption=none.present True"' to rerun this test only. 1094s E storeKey when already present: FAIL 1094s E Exception: content not available to send 1094s E Use -p '/key size Just 1048575; remote chunksize=10485 encryption=none.storeKey when already present/' to rerun this test only. 1094s E present True: FAIL (0.04s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=10485 encryption=none.present True"' to rerun this test only. 1094s E retrieveKeyFile: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=10485 encryption=none.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=10485 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048575; remote chunksize=10485 encryption=none.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=10485 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 1048575; remote chunksize=10485 encryption=none.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=10485 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.06s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048575; remote chunksize=10485 encryption=none.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=10485 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (0.29s) 1094s E present False: OK (0.01s) 1094s E key size Just 1048575; remote chunksize=10485 encryption=shared 1094s E removeKey when not present: OK (0.25s) 1094s E present False: OK 1094s E storeKey: FAIL 1094s E Exception: content not available to send 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=10485 encryption=shared.storeKey"' to rerun this test only. 1094s E present True: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=10485 encryption=shared.present True"' to rerun this test only. 1094s E storeKey when already present: FAIL 1094s E Exception: content not available to send 1094s E Use -p '/key size Just 1048575; remote chunksize=10485 encryption=shared.storeKey when already present/' to rerun this test only. 1094s E present True: FAIL (0.04s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=10485 encryption=shared.present True"' to rerun this test only. 1094s E retrieveKeyFile: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=10485 encryption=shared.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=10485 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048575; remote chunksize=10485 encryption=shared.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=10485 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 1048575; remote chunksize=10485 encryption=shared.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=10485 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048575; remote chunksize=10485 encryption=shared.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=10485 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (0.27s) 1094s E present False: OK 1094s E key size Just 1048575; remote chunksize=1048 encryption=none 1094s E removeKey when not present: OK (2.90s) 1094s E present False: OK 1094s E storeKey: FAIL 1094s E Exception: content not available to send 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048 encryption=none.storeKey"' to rerun this test only. 1094s E present True: FAIL (0.05s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048 encryption=none.present True"' to rerun this test only. 1094s E storeKey when already present: FAIL 1094s E Exception: content not available to send 1094s E Use -p '/key size Just 1048575; remote chunksize=1048 encryption=none.storeKey when already present/' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048 encryption=none.present True"' to rerun this test only. 1094s E retrieveKeyFile: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048 encryption=none.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048575; remote chunksize=1048 encryption=none.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 1048575; remote chunksize=1048 encryption=none.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.04s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048575; remote chunksize=1048 encryption=none.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (2.75s) 1094s E present False: OK 1094s E key size Just 1048575; remote chunksize=1048 encryption=shared 1094s E removeKey when not present: OK (2.83s) 1094s E present False: OK 1094s E storeKey: FAIL 1094s E Exception: content not available to send 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048 encryption=shared.storeKey"' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048 encryption=shared.present True"' to rerun this test only. 1094s E storeKey when already present: FAIL 1094s E Exception: content not available to send 1094s E Use -p '/key size Just 1048575; remote chunksize=1048 encryption=shared.storeKey when already present/' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048 encryption=shared.present True"' to rerun this test only. 1094s E retrieveKeyFile: FAIL 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048 encryption=shared.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048575; remote chunksize=1048 encryption=shared.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 1048575; remote chunksize=1048 encryption=shared.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048575; remote chunksize=1048 encryption=shared.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (2.85s) 1094s E present False: OK 1094s E key size Just 1048575; remote chunksize=1048576 encryption=none 1094s E removeKey when not present: OK (0.01s) 1094s E present False: OK 1094s E storeKey: FAIL 1094s E Exception: content not available to send 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048576 encryption=none.storeKey"' to rerun this test only. 1094s E present True: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048576 encryption=none.present True"' to rerun this test only. 1094s E storeKey when already present: FAIL 1094s E Exception: content not available to send 1094s E Use -p '/key size Just 1048575; remote chunksize=1048576 encryption=none.storeKey when already present/' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048576 encryption=none.present True"' to rerun this test only. 1094s E retrieveKeyFile: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048576 encryption=none.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048576 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048575; remote chunksize=1048576 encryption=none.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048576 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 1048575; remote chunksize=1048576 encryption=none.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048576 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.05s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048575; remote chunksize=1048576 encryption=none.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048576 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (0.05s) 1094s E present False: OK (0.01s) 1094s E key size Just 1048575; remote chunksize=1048576 encryption=shared 1094s E removeKey when not present: OK (0.01s) 1094s E present False: OK 1094s E storeKey: FAIL 1094s E Exception: content not available to send 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048576 encryption=shared.storeKey"' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048576 encryption=shared.present True"' to rerun this test only. 1094s E storeKey when already present: FAIL 1094s E Exception: content not available to send 1094s E Use -p '/key size Just 1048575; remote chunksize=1048576 encryption=shared.storeKey when already present/' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048576 encryption=shared.present True"' to rerun this test only. 1094s E retrieveKeyFile: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048576 encryption=shared.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048576 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048575; remote chunksize=1048576 encryption=shared.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048576 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 1048575; remote chunksize=1048576 encryption=shared.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048576 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 1048575; remote chunksize=1048576 encryption=shared.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 1048575; remote chunksize=1048576 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (0.05s) 1094s E present False: OK 1094s E key size Just 2097152; remote chunksize=0 encryption=none 1094s E removeKey when not present: OK 1094s E present False: OK 1094s E storeKey: OK (0.01s) 1094s E present True: OK 1094s E storeKey when already present: OK 1094s E present True: OK 1094s E retrieveKeyFile: FAIL 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=0 encryption=none.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=0 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 2097152; remote chunksize=0 encryption=none.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=0 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 2097152; remote chunksize=0 encryption=none.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=0 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.04s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 2097152; remote chunksize=0 encryption=none.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=0 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (0.03s) 1094s E present False: OK 1094s E key size Just 2097152; remote chunksize=0 encryption=shared 1094s E removeKey when not present: OK 1094s E present False: OK 1094s E storeKey: FAIL 1094s E Exception: content not available to send 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=0 encryption=shared.storeKey"' to rerun this test only. 1094s E present True: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=0 encryption=shared.present True"' to rerun this test only. 1094s E storeKey when already present: FAIL 1094s E Exception: content not available to send 1094s E Use -p '/key size Just 2097152; remote chunksize=0 encryption=shared.storeKey when already present/' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=0 encryption=shared.present True"' to rerun this test only. 1094s E retrieveKeyFile: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=0 encryption=shared.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=0 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 2097152; remote chunksize=0 encryption=shared.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=0 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 2097152; remote chunksize=0 encryption=shared.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=0 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 2097152; remote chunksize=0 encryption=shared.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=0 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (0.04s) 1094s E present False: OK 1094s E key size Just 2097152; remote chunksize=10485 encryption=none 1094s E removeKey when not present: OK (0.60s) 1094s E present False: OK 1094s E storeKey: FAIL 1094s E Exception: content not available to send 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=10485 encryption=none.storeKey"' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=10485 encryption=none.present True"' to rerun this test only. 1094s E storeKey when already present: FAIL 1094s E Exception: content not available to send 1094s E Use -p '/key size Just 2097152; remote chunksize=10485 encryption=none.storeKey when already present/' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=10485 encryption=none.present True"' to rerun this test only. 1094s E retrieveKeyFile: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=10485 encryption=none.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=10485 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 2097152; remote chunksize=10485 encryption=none.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=10485 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 2097152; remote chunksize=10485 encryption=none.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=10485 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 2097152; remote chunksize=10485 encryption=none.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=10485 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (0.58s) 1094s E present False: OK (0.01s) 1094s E key size Just 2097152; remote chunksize=10485 encryption=shared 1094s E removeKey when not present: OK (0.58s) 1094s E present False: OK 1094s E storeKey: FAIL 1094s E Exception: content not available to send 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=10485 encryption=shared.storeKey"' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=10485 encryption=shared.present True"' to rerun this test only. 1094s E storeKey when already present: FAIL 1094s E Exception: content not available to send 1094s E Use -p '/key size Just 2097152; remote chunksize=10485 encryption=shared.storeKey when already present/' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=10485 encryption=shared.present True"' to rerun this test only. 1094s E retrieveKeyFile: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=10485 encryption=shared.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=10485 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL (0.01s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 2097152; remote chunksize=10485 encryption=shared.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=10485 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 2097152; remote chunksize=10485 encryption=shared.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=10485 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 2097152; remote chunksize=10485 encryption=shared.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=10485 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (0.61s) 1094s E present False: OK 1094s E key size Just 2097152; remote chunksize=1048 encryption=none 1094s E removeKey when not present: OK (6.08s) 1094s E present False: OK 1094s E storeKey: FAIL 1094s E Exception: content not available to send 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048 encryption=none.storeKey"' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048 encryption=none.present True"' to rerun this test only. 1094s E storeKey when already present: FAIL 1094s E Exception: content not available to send 1094s E Use -p '/key size Just 2097152; remote chunksize=1048 encryption=none.storeKey when already present/' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048 encryption=none.present True"' to rerun this test only. 1094s E retrieveKeyFile: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048 encryption=none.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 2097152; remote chunksize=1048 encryption=none.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 2097152; remote chunksize=1048 encryption=none.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.04s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 2097152; remote chunksize=1048 encryption=none.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (5.62s) 1094s E present False: OK 1094s E key size Just 2097152; remote chunksize=1048 encryption=shared 1094s E removeKey when not present: OK (5.47s) 1094s E present False: OK (0.01s) 1094s E storeKey: FAIL 1094s E Exception: content not available to send 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048 encryption=shared.storeKey"' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048 encryption=shared.present True"' to rerun this test only. 1094s E storeKey when already present: FAIL 1094s E Exception: content not available to send 1094s E Use -p '/key size Just 2097152; remote chunksize=1048 encryption=shared.storeKey when already present/' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048 encryption=shared.present True"' to rerun this test only. 1094s E retrieveKeyFile: FAIL 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048 encryption=shared.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 2097152; remote chunksize=1048 encryption=shared.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 2097152; remote chunksize=1048 encryption=shared.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 2097152; remote chunksize=1048 encryption=shared.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (5.86s) 1094s E present False: OK 1094s E key size Just 2097152; remote chunksize=1048576 encryption=none 1094s E removeKey when not present: OK (0.01s) 1094s E present False: OK (0.01s) 1094s E storeKey: FAIL 1094s E Exception: content not available to send 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048576 encryption=none.storeKey"' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048576 encryption=none.present True"' to rerun this test only. 1094s E storeKey when already present: FAIL 1094s E Exception: content not available to send 1094s E Use -p '/key size Just 2097152; remote chunksize=1048576 encryption=none.storeKey when already present/' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048576 encryption=none.present True"' to rerun this test only. 1094s E retrieveKeyFile: FAIL (0.02s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048576 encryption=none.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048576 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 2097152; remote chunksize=1048576 encryption=none.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048576 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 2097152; remote chunksize=1048576 encryption=none.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048576 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.06s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 2097152; remote chunksize=1048576 encryption=none.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048576 encryption=none.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (0.04s) 1094s E present False: OK (0.01s) 1094s E key size Just 2097152; remote chunksize=1048576 encryption=shared 1094s E removeKey when not present: OK (0.01s) 1094s E present False: OK (0.02s) 1094s E storeKey: FAIL 1094s E Exception: content not available to send 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048576 encryption=shared.storeKey"' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048576 encryption=shared.present True"' to rerun this test only. 1094s E storeKey when already present: FAIL 1094s E Exception: content not available to send 1094s E Use -p '/key size Just 2097152; remote chunksize=1048576 encryption=shared.storeKey when already present/' to rerun this test only. 1094s E present True: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048576 encryption=shared.present True"' to rerun this test only. 1094s E retrieveKeyFile: FAIL (0.01s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048576 encryption=shared.retrieveKeyFile"' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048576 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 0: FAIL (0.04s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 2097152; remote chunksize=1048576 encryption=shared.retrieveKeyFile resume from 0/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048576 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from 33%: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: openBinaryFile: does not exist (No such file or directory) 1094s E Use -p '/key size Just 2097152; remote chunksize=1048576 encryption=shared.retrieveKeyFile resume from 33%/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048576 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E retrieveKeyFile resume from end: FAIL (0.03s) 1094s E ./Command/TestRemote.hs:295: 1094s E failed 1094s E Use -p '/key size Just 2097152; remote chunksize=1048576 encryption=shared.retrieveKeyFile resume from end/' to rerun this test only. 1094s E fsck downloaded object: FAIL 1094s E Exception: .git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key: withBinaryFile: does not exist (No such file or directory) 1094s E Use -p '$0=="Remote Tests.key size Just 2097152; remote chunksize=1048576 encryption=shared.fsck downloaded object"' to rerun this test only. 1094s E removeKey when present: OK (0.04s) 1094s E present False: OK 1094s E exporttree=yes; key size Just 1048576; key size Just 2097152 1094s E check present export when not present: OK 1094s E remove export when not present: OK 1094s E store export: OK 1094s E check present export after store: OK 1094s E store export when already present: OK 1094s E retrieve export: OK 1094s E store new content to export: OK 1094s E check present export after store of new content: OK 1094s E retrieve export new content: OK 1094s E remove export: OK 1094s E check present export after remove: OK 1094s E retrieve export fails after removal: OK 1094s E remove export directory: OK 1094s E remove export directory that is already removed: OK 1094s E exporttree=yes; key size Just 1048576; key size Just 1048575 1094s E check present export when not present: OK 1094s E remove export when not present: OK 1094s E store export: OK 1094s E check present export after store: OK 1094s E store export when already present: OK 1094s E retrieve export: OK 1094s E store new content to export: OK 1094s E check present export after store of new content: OK 1094s E retrieve export new content: OK 1094s E remove export: OK 1094s E check present export after remove: OK 1094s E retrieve export fails after removal: OK 1094s E remove export directory: OK 1094s E remove export directory that is already removed: OK 1094s E exporttree=yes; key size Just 1048577; key size Just 2097152 1094s E check present export when not present: OK 1094s E remove export when not present: OK 1094s E store export: OK 1094s E check present export after store: OK 1094s E store export when already present: OK 1094s E retrieve export: OK 1094s E store new content to export: OK 1094s E check present export after store of new content: OK 1094s E retrieve export new content: OK 1094s E remove export: OK 1094s E check present export after remove: OK 1094s E retrieve export fails after removal: OK 1094s E remove export directory: OK 1094s E remove export directory that is already removed: OK 1094s E exporttree=yes; key size Just 1048577; key size Just 1048575 1094s E check present export when not present: OK 1094s E remove export when not present: OK 1094s E store export: OK 1094s E check present export after store: OK 1094s E store export when already present: OK 1094s E retrieve export: OK 1094s E store new content to export: OK 1094s E check present export after store of new content: OK 1094s E retrieve export new content: OK 1094s E remove export: OK 1094s E check present export after remove: OK 1094s E retrieve export fails after removal: OK 1094s E remove export directory: OK 1094s E remove export directory that is already removed: OK 1094s E 1094s E 368 out of 573 tests failed (82.83s)'] [err: 'Cannot run git-annex-remote-!dne! -- It is not installed in PATH (/usr/lib/git-core:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin) 1094s E Cannot run git-annex-remote-!dne! -- It is not installed in PATH (/usr/lib/git-core:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin) 1094s E Cannot run git-annex-remote-!dne! -- It is not installed in PATH (/usr/lib/git-core:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin) 1094s E Cannot run git-annex-remote-!dne! -- It is not installed in PATH (/usr/lib/git-core:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/gG/J3/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key/SHA256E-s1048576--8d8507140b62ca5a3bd3b81814b3fa47e1967a1ecced4aae9522107be1b8e36e.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/1f/P7/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key/SHA256E-s1048577--47734c5905d019c357e79eef88756f63e565e5a8b50ac1f2ed9ced84188c3cfb.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/kq/jf/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key/SHA256E-s1048575--3cbf3861a866ab2cbaa1118f323155b32ef3aa2c94136e7317733d1a47df0bef.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 101.05 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 102.1 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 102.1 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 102.1 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 102.1 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 102.1 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 102.1 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 102.1 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 102.1 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 102.1 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 102.1 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 102.1 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 102.1 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 102.1 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 102.1 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 102.1 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 102.1 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 102.1 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 102.1 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 102.1 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 102.1 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 102.1 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 102.1 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E not enough free space, need 102.1 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E cp: cannot stat '.git/annex/objects/2M/5J/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key/SHA256E-s2097152--8c46b36e6d70d80936ae6d5f0d45fab79a3df2ab2306ee26934e6376241dfd20.this-is-a-test-key': No such file or directory 1094s E not enough free space, need 102.1 MB more (use --force to override this check or adjust annex.diskreserve) 1094s E testremote: 1 failed'] 1094s 1094s /usr/lib/python3/dist-packages/datalad/runner/runner.py:242: CommandError 1094s 1094s During handling of the above exception, another exception occurred: 1094s 1094s tmp_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_uncurl_testremote0') 1094s existing_dataset = Dataset('/tmp/pytest-of-ubuntu/pytest-0/dataset8') 1094s 1094s def test_uncurl_testremote(tmp_path, existing_dataset): 1094s "Point git-annex's testremote at uncurl" 1094s ds = existing_dataset 1094s dsca = ds.repo.call_annex 1094s dsca(['initremote', 'myuncurl'] + std_initargs 1094s # file:///key 1094s + [f'url=file://{tmp_path}/{{annex_key}}']) 1094s # Temporarily disable this until 1094s # https://github.com/datalad/datalad-dataverse/issues/127 1094s # is sorted out. Possibly via 1094s # https://git-annex.branchable.com/bugs/testremote_is_not_honoring_--backend 1094s if not on_windows: 1094s # not running with --fast to also cover key chunking 1094s > dsca(['testremote', '--quiet', 'myuncurl']) 1094s 1094s ../build.vXv/src/datalad_next/annexremotes/tests/test_uncurl.py:449: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1318: in call_annex 1094s return self._call_annex( 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = AnnexRepo('/tmp/pytest-of-ubuntu/pytest-0/dataset8') 1094s args = ['testremote', '--quiet', 'myuncurl'], files = None, jobs = None 1094s protocol = 1094s git_options = None, stdin = None, merge_annex_branches = True, kwargs = {} 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s runner = 1094s env = None 1094s out_of_space_re = 1094s 1094s def _call_annex(self, args, files=None, jobs=None, protocol=StdOutErrCapture, 1094s git_options=None, stdin=None, merge_annex_branches=True, 1094s **kwargs): 1094s """Internal helper to run git-annex commands 1094s 1094s Standard command options are applied in addition to the given arguments, 1094s and certain error conditions are detected (if possible) and dedicated 1094s exceptions are raised. 1094s 1094s Parameters 1094s ---------- 1094s args: list 1094s List of git-annex command arguments. 1094s files: list, optional 1094s If command passes list of files. If list is too long 1094s (by number of files or overall size) it will be split, and multiple 1094s command invocations will follow 1094s jobs : int or 'auto', optional 1094s If 'auto', the number of jobs will be determined automatically, 1094s informed by the configuration setting 1094s 'datalad.runtime.max-annex-jobs'. 1094s protocol : WitlessProtocol, optional 1094s Protocol class to pass to GitWitlessRunner.run(). By default this is 1094s StdOutErrCapture, which will provide default logging behavior and 1094s guarantee that stdout/stderr are included in potential CommandError 1094s exception. 1094s git_options: list, optional 1094s Additional arguments for Git to include in the git-annex call 1094s (in a position prior to the 'annex' subcommand. 1094s stdin: File-like, optional 1094s stdin to connect to the git-annex process. Only used when `files` 1094s is None. 1094s merge_annex_branches: bool, optional 1094s If False, annex.merge-annex-branches=false config will be set for 1094s git-annex call. Useful for operations which are not intended to 1094s benefit from updating information about remote git-annexes 1094s **kwargs: 1094s Additional arguments are passed on to the WitlessProtocol constructor 1094s 1094s Returns 1094s ------- 1094s dict 1094s Return value of WitlessRunner.run(). The content of the dict is 1094s determined by the given `protocol`. By default, it provides git-annex's 1094s stdout and stderr (under these key names) 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s If the call exits with a non-zero status. 1094s 1094s OutOfSpaceError 1094s If a corresponding statement was detected in git-annex's output on 1094s stderr. Only supported if the given protocol captured stderr. 1094s 1094s RemoteNotAvailableError 1094s If a corresponding statement was detected in git-annex's output on 1094s stderr. Only supported if the given protocol captured stderr. 1094s """ 1094s if self.git_annex_version is None: 1094s self._check_git_annex_version() 1094s 1094s # git portion of the command 1094s cmd = ['git'] + self._ANNEX_GIT_COMMON_OPTIONS 1094s 1094s if git_options: 1094s cmd += git_options 1094s 1094s if not self.always_commit: 1094s cmd += ['-c', 'annex.alwayscommit=false'] 1094s 1094s if not merge_annex_branches: 1094s cmd += ['-c', 'annex.merge-annex-branches=false'] 1094s 1094s # annex portion of the command 1094s cmd.append('annex') 1094s cmd += args 1094s 1094s if lgr.getEffectiveLevel() <= 8: 1094s cmd.append('--debug') 1094s 1094s if self._annex_common_options: 1094s cmd += self._annex_common_options 1094s 1094s if jobs == 'auto': 1094s # Limit to # of CPUs (but at least 3 to start with) 1094s # and also an additional config constraint (by default 1 1094s # due to https://github.com/datalad/datalad/issues/4404) 1094s jobs = self._n_auto_jobs or min( 1094s self.config.obtain('datalad.runtime.max-annex-jobs'), 1094s max(3, cpu_count())) 1094s # cache result to avoid repeated calls to cpu_count() 1094s self._n_auto_jobs = jobs 1094s if jobs and jobs != 1: 1094s cmd.append('-J%d' % jobs) 1094s 1094s runner = self._git_runner 1094s env = None 1094s if self.fake_dates_enabled: 1094s env = self.add_fake_dates(runner.env) 1094s 1094s try: 1094s if files: 1094s if issubclass(protocol, GeneratorMixIn): 1094s return runner.run_on_filelist_chunks_items_( 1094s cmd, 1094s files, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s else: 1094s return runner.run_on_filelist_chunks( 1094s cmd, 1094s files, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s else: 1094s return runner.run( 1094s cmd, 1094s stdin=stdin, 1094s protocol=protocol, 1094s env=env, 1094s **kwargs) 1094s except CommandError as e: 1094s # Note: A call might result in several 'failures', that can be or 1094s # cannot be handled here. Detection of something, we can deal with, 1094s # doesn't mean there's nothing else to deal with. 1094s 1094s # OutOfSpaceError: 1094s # Note: 1094s # doesn't depend on anything in stdout. Therefore check this before 1094s # dealing with stdout 1094s out_of_space_re = re.search( 1094s "not enough free space, need (.*) more", e.stderr 1094s ) 1094s if out_of_space_re: 1094s > raise OutOfSpaceError(cmd=['annex'] + args, 1094s sizemore_msg=out_of_space_re.groups()[0]) 1094s E datalad.support.exceptions.OutOfSpaceError: OutOfSpaceError: 'annex testremote --quiet myuncurl' needs 101.05 MB more 1094s 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1016: OutOfSpaceError 1094s _____________________________ test_credentials_cli _____________________________ 1094s 1094s tmp_keyring = 1094s 1094s def test_credentials_cli(tmp_keyring): 1094s # usable command 1094s cred = Credentials() 1094s # unknown action 1094s assert_raises(ValueError, cred, 'levitate') 1094s with swallow_logs(new_level=logging.ERROR) as cml: 1094s # it is a shame that the error is not coming out on 1094s # stderr 1094s > run_main(['credentials', 'remove'], exit_code=1) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_credentials.py:97: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 1, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s _______ TestTreeWithoutDatasets.test_print_tree[1-False-False-expected] ________ 1094s 1094s self = 1094s depth = 1, include_files = False, include_hidden = False 1094s expected_str = '\n├── dir0/\n├── dir1/\n└── dir2/\n' 1094s 1094s def test_print_tree( 1094s self, depth, include_files, include_hidden, expected_str 1094s ): 1094s root = str(self.path / "root") 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s '--include-hidden' if include_hidden else '', 1094s '--include-files' if include_files else '' 1094s ] 1094s > _, actual_res, _ = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:436: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s ------------------------------ Captured log setup ------------------------------ 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/pytest-of-ubuntu/pytest-0/ds0/root/superds0 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/pytest-of-ubuntu/pytest-0/ds0/root/superds0/sd0_subds0 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/pytest-of-ubuntu/pytest-0/ds0/root/superds1 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/pytest-of-ubuntu/pytest-0/ds0/root/superds1 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s _______ TestTreeWithoutDatasets.test_print_tree[3-False-False-expected] ________ 1094s 1094s self = 1094s depth = 3, include_files = False, include_hidden = False 1094s expected_str = '\n├── dir0/\n├── dir1/\n└── dir2/\n ├── dir2_dir0/\n ├── dir2_dir1/\n └── dir2_dir2/\n' 1094s 1094s def test_print_tree( 1094s self, depth, include_files, include_hidden, expected_str 1094s ): 1094s root = str(self.path / "root") 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s '--include-hidden' if include_hidden else '', 1094s '--include-files' if include_files else '' 1094s ] 1094s > _, actual_res, _ = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:436: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s ________ TestTreeWithoutDatasets.test_print_tree[1-True-False-expected] ________ 1094s 1094s self = 1094s depth = 1, include_files = True, include_hidden = False 1094s expected_str = '\n├── dir0/\n├── dir1/\n├── dir2/\n├── file0\n└── file1\n' 1094s 1094s def test_print_tree( 1094s self, depth, include_files, include_hidden, expected_str 1094s ): 1094s root = str(self.path / "root") 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s '--include-hidden' if include_hidden else '', 1094s '--include-files' if include_files else '' 1094s ] 1094s > _, actual_res, _ = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:436: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s ________ TestTreeWithoutDatasets.test_print_tree[3-True-False-expected] ________ 1094s 1094s self = 1094s depth = 3, include_files = True, include_hidden = False 1094s expected_str = '\n├── dir0/\n├── dir1/\n│ └── dir1_file0\n├── dir2/\n│ ├── dir2_dir0/\n│ ├── dir2_dir1/\n│ │ └── dir2_dir1_... │ ├── dir2_dir2_file0\n│ │ └── dir2_dir2_file1\n│ ├── dir2_file0\n│ └── dir2_file1\n├── file0\n└── file1\n' 1094s 1094s def test_print_tree( 1094s self, depth, include_files, include_hidden, expected_str 1094s ): 1094s root = str(self.path / "root") 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s '--include-hidden' if include_hidden else '', 1094s '--include-files' if include_files else '' 1094s ] 1094s > _, actual_res, _ = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:436: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s ________ TestTreeWithoutDatasets.test_print_tree[1-True-True-expected] _________ 1094s 1094s self = 1094s depth = 1, include_files = True, include_hidden = True 1094s expected_str = '\n├── .dir3/\n├── .file2\n├── dir0/\n├── dir1/\n├── dir2/\n├── file0\n└── file1\n' 1094s 1094s def test_print_tree( 1094s self, depth, include_files, include_hidden, expected_str 1094s ): 1094s root = str(self.path / "root") 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s '--include-hidden' if include_hidden else '', 1094s '--include-files' if include_files else '' 1094s ] 1094s > _, actual_res, _ = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:436: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s ________ TestTreeWithoutDatasets.test_print_tree[3-True-True-expected] _________ 1094s 1094s self = 1094s depth = 3, include_files = True, include_hidden = True 1094s expected_str = '\n├── .dir3/\n│ ├── .dir3_file1\n│ └── dir3_file0\n├── .file2\n├── dir0/\n├── dir1/\n│ └── dir1_file0\n├── dir2... │ ├── dir2_dir2_file0\n│ │ └── dir2_dir2_file1\n│ ├── dir2_file0\n│ └── dir2_file1\n├── file0\n└── file1\n' 1094s 1094s def test_print_tree( 1094s self, depth, include_files, include_hidden, expected_str 1094s ): 1094s root = str(self.path / "root") 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s '--include-hidden' if include_hidden else '', 1094s '--include-files' if include_files else '' 1094s ] 1094s > _, actual_res, _ = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:436: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s ________ TestTreeWithoutDatasets.test_print_tree[1-False-True-expected] ________ 1094s 1094s self = 1094s depth = 1, include_files = False, include_hidden = True 1094s expected_str = '\n├── .dir3/\n├── dir0/\n├── dir1/\n└── dir2/\n' 1094s 1094s def test_print_tree( 1094s self, depth, include_files, include_hidden, expected_str 1094s ): 1094s root = str(self.path / "root") 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s '--include-hidden' if include_hidden else '', 1094s '--include-files' if include_files else '' 1094s ] 1094s > _, actual_res, _ = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:436: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s ________ TestTreeWithoutDatasets.test_print_tree[3-False-True-expected] ________ 1094s 1094s self = 1094s depth = 3, include_files = False, include_hidden = True 1094s expected_str = '\n├── .dir3/\n├── dir0/\n├── dir1/\n└── dir2/\n ├── dir2_dir0/\n ├── dir2_dir1/\n └── dir2_dir2/\n' 1094s 1094s def test_print_tree( 1094s self, depth, include_files, include_hidden, expected_str 1094s ): 1094s root = str(self.path / "root") 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s '--include-hidden' if include_hidden else '', 1094s '--include-files' if include_files else '' 1094s ] 1094s > _, actual_res, _ = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:436: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s _ TestTreeWithoutDatasets.test_print_stats[1-False-False-0 datasets, 3 directories] _ 1094s 1094s self = 1094s depth = 1, include_files = False, include_hidden = False 1094s expected_stats_str = '0 datasets, 3 directories' 1094s 1094s def test_print_stats( 1094s self, depth, include_files, include_hidden, expected_stats_str 1094s ): 1094s root = str(self.path / 'root') 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s '--include-hidden' if include_hidden else '', 1094s '--include-files' if include_files else '' 1094s ] 1094s > _, _, actual_res = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:455: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s _ TestTreeWithoutDatasets.test_print_stats[3-False-False-0 datasets, 6 directories] _ 1094s 1094s self = 1094s depth = 3, include_files = False, include_hidden = False 1094s expected_stats_str = '0 datasets, 6 directories' 1094s 1094s def test_print_stats( 1094s self, depth, include_files, include_hidden, expected_stats_str 1094s ): 1094s root = str(self.path / 'root') 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s '--include-hidden' if include_hidden else '', 1094s '--include-files' if include_files else '' 1094s ] 1094s > _, _, actual_res = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:455: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s _ TestTreeWithoutDatasets.test_print_stats[1-True-False-0 datasets, 3 directories, 2 files] _ 1094s 1094s self = 1094s depth = 1, include_files = True, include_hidden = False 1094s expected_stats_str = '0 datasets, 3 directories, 2 files' 1094s 1094s def test_print_stats( 1094s self, depth, include_files, include_hidden, expected_stats_str 1094s ): 1094s root = str(self.path / 'root') 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s '--include-hidden' if include_hidden else '', 1094s '--include-files' if include_files else '' 1094s ] 1094s > _, _, actual_res = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:455: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s _ TestTreeWithoutDatasets.test_print_stats[3-True-False-0 datasets, 6 directories, 8 files] _ 1094s 1094s self = 1094s depth = 3, include_files = True, include_hidden = False 1094s expected_stats_str = '0 datasets, 6 directories, 8 files' 1094s 1094s def test_print_stats( 1094s self, depth, include_files, include_hidden, expected_stats_str 1094s ): 1094s root = str(self.path / 'root') 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s '--include-hidden' if include_hidden else '', 1094s '--include-files' if include_files else '' 1094s ] 1094s > _, _, actual_res = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:455: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s _ TestTreeWithoutDatasets.test_print_stats[1-True-True-0 datasets, 4 directories, 3 files] _ 1094s 1094s self = 1094s depth = 1, include_files = True, include_hidden = True 1094s expected_stats_str = '0 datasets, 4 directories, 3 files' 1094s 1094s def test_print_stats( 1094s self, depth, include_files, include_hidden, expected_stats_str 1094s ): 1094s root = str(self.path / 'root') 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s '--include-hidden' if include_hidden else '', 1094s '--include-files' if include_files else '' 1094s ] 1094s > _, _, actual_res = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:455: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s _ TestTreeWithoutDatasets.test_print_stats[3-True-True-0 datasets, 7 directories, 11 files] _ 1094s 1094s self = 1094s depth = 3, include_files = True, include_hidden = True 1094s expected_stats_str = '0 datasets, 7 directories, 11 files' 1094s 1094s def test_print_stats( 1094s self, depth, include_files, include_hidden, expected_stats_str 1094s ): 1094s root = str(self.path / 'root') 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s '--include-hidden' if include_hidden else '', 1094s '--include-files' if include_files else '' 1094s ] 1094s > _, _, actual_res = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:455: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s _ TestTreeWithoutDatasets.test_print_stats[1-False-True-0 datasets, 4 directories] _ 1094s 1094s self = 1094s depth = 1, include_files = False, include_hidden = True 1094s expected_stats_str = '0 datasets, 4 directories' 1094s 1094s def test_print_stats( 1094s self, depth, include_files, include_hidden, expected_stats_str 1094s ): 1094s root = str(self.path / 'root') 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s '--include-hidden' if include_hidden else '', 1094s '--include-files' if include_files else '' 1094s ] 1094s > _, _, actual_res = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:455: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s _ TestTreeWithoutDatasets.test_print_stats[3-False-True-0 datasets, 7 directories] _ 1094s 1094s self = 1094s depth = 3, include_files = False, include_hidden = True 1094s expected_stats_str = '0 datasets, 7 directories' 1094s 1094s def test_print_stats( 1094s self, depth, include_files, include_hidden, expected_stats_str 1094s ): 1094s root = str(self.path / 'root') 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s '--include-hidden' if include_hidden else '', 1094s '--include-files' if include_files else '' 1094s ] 1094s > _, _, actual_res = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:455: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s _________ TestTreeWithoutDatasets.test_root_path_is_normalized[root/] __________ 1094s 1094s self = 1094s root_dir_name = 'root/' 1094s 1094s @pytest.mark.parametrize( 1094s "root_dir_name", ["root/", "root/.", "root/./", "root/../root"] 1094s ) 1094s def test_root_path_is_normalized(self, root_dir_name): 1094s """ 1094s Test that root path in the first line of string output 1094s is normalized path 1094s """ 1094s root = str(self.path / root_dir_name) 1094s command = ['tree', root, '--depth', '0'] 1094s > actual, _, _ = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:469: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s _________ TestTreeWithoutDatasets.test_root_path_is_normalized[root/.] _________ 1094s 1094s self = 1094s root_dir_name = 'root/.' 1094s 1094s @pytest.mark.parametrize( 1094s "root_dir_name", ["root/", "root/.", "root/./", "root/../root"] 1094s ) 1094s def test_root_path_is_normalized(self, root_dir_name): 1094s """ 1094s Test that root path in the first line of string output 1094s is normalized path 1094s """ 1094s root = str(self.path / root_dir_name) 1094s command = ['tree', root, '--depth', '0'] 1094s > actual, _, _ = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:469: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s ________ TestTreeWithoutDatasets.test_root_path_is_normalized[root/./] _________ 1094s 1094s self = 1094s root_dir_name = 'root/./' 1094s 1094s @pytest.mark.parametrize( 1094s "root_dir_name", ["root/", "root/.", "root/./", "root/../root"] 1094s ) 1094s def test_root_path_is_normalized(self, root_dir_name): 1094s """ 1094s Test that root path in the first line of string output 1094s is normalized path 1094s """ 1094s root = str(self.path / root_dir_name) 1094s command = ['tree', root, '--depth', '0'] 1094s > actual, _, _ = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:469: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s ______ TestTreeWithoutDatasets.test_root_path_is_normalized[root/../root] ______ 1094s 1094s self = 1094s root_dir_name = 'root/../root' 1094s 1094s @pytest.mark.parametrize( 1094s "root_dir_name", ["root/", "root/.", "root/./", "root/../root"] 1094s ) 1094s def test_root_path_is_normalized(self, root_dir_name): 1094s """ 1094s Test that root path in the first line of string output 1094s is normalized path 1094s """ 1094s root = str(self.path / root_dir_name) 1094s command = ['tree', root, '--depth', '0'] 1094s > actual, _, _ = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:469: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s _ TestTreeWithoutDatasets.test_no_difference_if_root_path_absolute_or_relative _ 1094s 1094s self = 1094s 1094s def test_no_difference_if_root_path_absolute_or_relative(self): 1094s """Tree output should be identical whether the root directory 1094s is given as absolute or relative path""" 1094s root = str(self.path / "root") 1094s > output_abs_path = get_tree_rendered_output(['tree', root]) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:477: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s ______________ TestTreeWithoutDatasets.test_print_tree_depth_zero ______________ 1094s 1094s self = 1094s 1094s def test_print_tree_depth_zero(self): 1094s root = str(self.path / "root") 1094s # including files should have no effect 1094s command = ['tree', root, '--depth', '0', '--include-files'] 1094s > actual = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:487: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s _________ TestTreeWithDatasets.test_print_tree[1-False-False-expected] _________ 1094s 1094s self = 1094s depth = 1, include_files = False, include_hidden = False 1094s expected_str = '\n├── repo0/\n├── [DS~0] superds0/\n└── [DS~0] superds1/\n' 1094s 1094s def test_print_tree( 1094s self, depth, include_files, include_hidden, expected_str 1094s ): 1094s root = str(self.path / "root") 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s '--include-hidden' if include_hidden else '', 1094s '--include-files' if include_files else '' 1094s ] 1094s > _, actual_res, _ = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:436: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s _________ TestTreeWithDatasets.test_print_tree[4-False-False-expected] _________ 1094s 1094s self = 1094s depth = 4, include_files = False, include_hidden = False 1094s expected_str = '\n├── repo0/\n├── [DS~0] superds0/\n│ └── [DS~1] sd0_subds0/\n│ └── [DS~2] sd0_sub0_subds0/\n└── [DS~0] super...d1_d0_repo0/\n │ └── [DS~1] sd1_d0_subds0/\n ├── [DS~0] sd1_ds0/\n └── [DS~1] (not installed) sd1_subds0/\n' 1094s 1094s def test_print_tree( 1094s self, depth, include_files, include_hidden, expected_str 1094s ): 1094s root = str(self.path / "root") 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s '--include-hidden' if include_hidden else '', 1094s '--include-files' if include_files else '' 1094s ] 1094s > _, actual_res, _ = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:436: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s _ TestTreeWithDatasets.test_print_stats[1-False-False-2 datasets, 1 directory] _ 1094s 1094s self = 1094s depth = 1, include_files = False, include_hidden = False 1094s expected_stats_str = '2 datasets, 1 directory' 1094s 1094s def test_print_stats( 1094s self, depth, include_files, include_hidden, expected_stats_str 1094s ): 1094s root = str(self.path / 'root') 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s '--include-hidden' if include_hidden else '', 1094s '--include-files' if include_files else '' 1094s ] 1094s > _, _, actual_res = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:455: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s _ TestTreeWithDatasets.test_print_stats[4-False-False-7 datasets, 3 directories] _ 1094s 1094s self = 1094s depth = 4, include_files = False, include_hidden = False 1094s expected_stats_str = '7 datasets, 3 directories' 1094s 1094s def test_print_stats( 1094s self, depth, include_files, include_hidden, expected_stats_str 1094s ): 1094s root = str(self.path / 'root') 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s '--include-hidden' if include_hidden else '', 1094s '--include-files' if include_files else '' 1094s ] 1094s > _, _, actual_res = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:455: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s ___________ TestTreeWithDatasets.test_root_path_is_normalized[root/] ___________ 1094s 1094s self = 1094s root_dir_name = 'root/' 1094s 1094s @pytest.mark.parametrize( 1094s "root_dir_name", ["root/", "root/.", "root/./", "root/../root"] 1094s ) 1094s def test_root_path_is_normalized(self, root_dir_name): 1094s """ 1094s Test that root path in the first line of string output 1094s is normalized path 1094s """ 1094s root = str(self.path / root_dir_name) 1094s command = ['tree', root, '--depth', '0'] 1094s > actual, _, _ = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:469: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s __________ TestTreeWithDatasets.test_root_path_is_normalized[root/.] ___________ 1094s 1094s self = 1094s root_dir_name = 'root/.' 1094s 1094s @pytest.mark.parametrize( 1094s "root_dir_name", ["root/", "root/.", "root/./", "root/../root"] 1094s ) 1094s def test_root_path_is_normalized(self, root_dir_name): 1094s """ 1094s Test that root path in the first line of string output 1094s is normalized path 1094s """ 1094s root = str(self.path / root_dir_name) 1094s command = ['tree', root, '--depth', '0'] 1094s > actual, _, _ = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:469: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s __________ TestTreeWithDatasets.test_root_path_is_normalized[root/./] __________ 1094s 1094s self = 1094s root_dir_name = 'root/./' 1094s 1094s @pytest.mark.parametrize( 1094s "root_dir_name", ["root/", "root/.", "root/./", "root/../root"] 1094s ) 1094s def test_root_path_is_normalized(self, root_dir_name): 1094s """ 1094s Test that root path in the first line of string output 1094s is normalized path 1094s """ 1094s root = str(self.path / root_dir_name) 1094s command = ['tree', root, '--depth', '0'] 1094s > actual, _, _ = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:469: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s _______ TestTreeWithDatasets.test_root_path_is_normalized[root/../root] ________ 1094s 1094s self = 1094s root_dir_name = 'root/../root' 1094s 1094s @pytest.mark.parametrize( 1094s "root_dir_name", ["root/", "root/.", "root/./", "root/../root"] 1094s ) 1094s def test_root_path_is_normalized(self, root_dir_name): 1094s """ 1094s Test that root path in the first line of string output 1094s is normalized path 1094s """ 1094s root = str(self.path / root_dir_name) 1094s command = ['tree', root, '--depth', '0'] 1094s > actual, _, _ = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:469: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s __ TestTreeWithDatasets.test_no_difference_if_root_path_absolute_or_relative ___ 1094s 1094s self = 1094s 1094s def test_no_difference_if_root_path_absolute_or_relative(self): 1094s """Tree output should be identical whether the root directory 1094s is given as absolute or relative path""" 1094s root = str(self.path / "root") 1094s > output_abs_path = get_tree_rendered_output(['tree', root]) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:477: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s _______________ TestTreeWithDatasets.test_print_tree_depth_zero ________________ 1094s 1094s self = 1094s 1094s def test_print_tree_depth_zero(self): 1094s root = str(self.path / "root") 1094s # including files should have no effect 1094s command = ['tree', root, '--depth', '0', '--include-files'] 1094s > actual = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:487: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s ________________ TestDatasetTree.test_print_tree[0-0-expected] _________________ 1094s 1094s self = 1094s dataset_depth = 0, depth = 0 1094s expected_str = '\n├── [DS~0] superds0/\n└── [DS~0] superds1/\n └── [DS~0] sd1_ds0/\n' 1094s 1094s def test_print_tree( 1094s self, dataset_depth, depth, expected_str 1094s ): 1094s root = str(self.path / "root") 1094s 1094s recursive_opts = ["--recursive"] 1094s if dataset_depth is not None: 1094s recursive_opts = ['--recursion-limit', str(dataset_depth)] 1094s 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s *recursive_opts 1094s ] 1094s > _, actual_res, _ = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:681: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s ________________ TestDatasetTree.test_print_tree[0-1-expected] _________________ 1094s 1094s self = 1094s dataset_depth = 0, depth = 1 1094s expected_str = '\n├── [DS~0] superds0/\n└── [DS~0] superds1/\n ├── sd1_dir0/\n └── [DS~0] sd1_ds0/\n' 1094s 1094s def test_print_tree( 1094s self, dataset_depth, depth, expected_str 1094s ): 1094s root = str(self.path / "root") 1094s 1094s recursive_opts = ["--recursive"] 1094s if dataset_depth is not None: 1094s recursive_opts = ['--recursion-limit', str(dataset_depth)] 1094s 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s *recursive_opts 1094s ] 1094s > _, actual_res, _ = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:681: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s ________________ TestDatasetTree.test_print_tree[0-2-expected] _________________ 1094s 1094s self = 1094s dataset_depth = 0, depth = 2 1094s expected_str = '\n├── [DS~0] superds0/\n└── [DS~0] superds1/\n ├── sd1_dir0/\n │ └── sd1_d0_repo0/\n └── [DS~0] sd1_ds0/\n' 1094s 1094s def test_print_tree( 1094s self, dataset_depth, depth, expected_str 1094s ): 1094s root = str(self.path / "root") 1094s 1094s recursive_opts = ["--recursive"] 1094s if dataset_depth is not None: 1094s recursive_opts = ['--recursion-limit', str(dataset_depth)] 1094s 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s *recursive_opts 1094s ] 1094s > _, actual_res, _ = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:681: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s ________________ TestDatasetTree.test_print_tree[1-0-expected] _________________ 1094s 1094s self = 1094s dataset_depth = 1, depth = 0 1094s expected_str = '\n├── [DS~0] superds0/\n│ └── [DS~1] sd0_subds0/\n└── [DS~0] superds1/\n ├── sd1_dir0/\n │ └── [DS~1] sd1_d0_subds0/\n ├── [DS~0] sd1_ds0/\n └── [DS~1] (not installed) sd1_subds0/\n' 1094s 1094s def test_print_tree( 1094s self, dataset_depth, depth, expected_str 1094s ): 1094s root = str(self.path / "root") 1094s 1094s recursive_opts = ["--recursive"] 1094s if dataset_depth is not None: 1094s recursive_opts = ['--recursion-limit', str(dataset_depth)] 1094s 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s *recursive_opts 1094s ] 1094s > _, actual_res, _ = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:681: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s ________________ TestDatasetTree.test_print_tree[1-2-expected] _________________ 1094s 1094s self = 1094s dataset_depth = 1, depth = 2 1094s expected_str = '\n├── [DS~0] superds0/\n│ └── [DS~1] sd0_subds0/\n└── [DS~0] superds1/\n ├── sd1_dir0/\n │ ├── sd1_d0_repo0/\n │ └── [DS~1] sd1_d0_subds0/\n ├── [DS~0] sd1_ds0/\n └── [DS~1] (not installed) sd1_subds0/\n' 1094s 1094s def test_print_tree( 1094s self, dataset_depth, depth, expected_str 1094s ): 1094s root = str(self.path / "root") 1094s 1094s recursive_opts = ["--recursive"] 1094s if dataset_depth is not None: 1094s recursive_opts = ['--recursion-limit', str(dataset_depth)] 1094s 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s *recursive_opts 1094s ] 1094s > _, actual_res, _ = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:681: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s _______________ TestDatasetTree.test_print_tree[None-0-expected] _______________ 1094s 1094s self = 1094s dataset_depth = None, depth = 0 1094s expected_str = '\n├── [DS~0] superds0/\n│ └── [DS~1] sd0_subds0/\n│ └── [DS~2] sd0_sub0_subds0/\n└── [DS~0] superds1/\n ├── sd1_dir0/\n │ └── [DS~1] sd1_d0_subds0/\n ├── [DS~0] sd1_ds0/\n └── [DS~1] (not installed) sd1_subds0/\n' 1094s 1094s def test_print_tree( 1094s self, dataset_depth, depth, expected_str 1094s ): 1094s root = str(self.path / "root") 1094s 1094s recursive_opts = ["--recursive"] 1094s if dataset_depth is not None: 1094s recursive_opts = ['--recursion-limit', str(dataset_depth)] 1094s 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s *recursive_opts 1094s ] 1094s > _, actual_res, _ = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:681: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s _______________ TestDatasetTree.test_print_tree[None-2-expected] _______________ 1094s 1094s self = 1094s dataset_depth = None, depth = 2 1094s expected_str = '\n├── [DS~0] superds0/\n│ └── [DS~1] sd0_subds0/\n│ └── [DS~2] sd0_sub0_subds0/\n└── [DS~0] superds1/\n ├─...d1_d0_repo0/\n │ └── [DS~1] sd1_d0_subds0/\n ├── [DS~0] sd1_ds0/\n └── [DS~1] (not installed) sd1_subds0/\n' 1094s 1094s def test_print_tree( 1094s self, dataset_depth, depth, expected_str 1094s ): 1094s root = str(self.path / "root") 1094s 1094s recursive_opts = ["--recursive"] 1094s if dataset_depth is not None: 1094s recursive_opts = ['--recursion-limit', str(dataset_depth)] 1094s 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s *recursive_opts 1094s ] 1094s > _, actual_res, _ = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:681: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s _______________ TestDatasetTree.test_print_tree_without_datasets _______________ 1094s 1094s self = 1094s 1094s def test_print_tree_without_datasets(self): 1094s """If there are no datasets, should only print the root""" 1094s root = str(self.path / "root" / "repo0") 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', '10', 1094s '--recursive', 1094s '--include-files' 1094s ] 1094s > _, actual_res, _ = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:699: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s _______ TestDatasetTree.test_print_stats[0-0-3 datasets, 0 directories] ________ 1094s 1094s self = 1094s dataset_depth = 0, depth = 0, expected_stats_str = '3 datasets, 0 directories' 1094s 1094s def test_print_stats( 1094s self, dataset_depth, depth, expected_stats_str 1094s ): 1094s root = str(self.path / "root") 1094s 1094s recursive_opts = ["--recursive"] 1094s if dataset_depth is not None: 1094s recursive_opts = ['--recursion-limit', str(dataset_depth)] 1094s 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s *recursive_opts 1094s ] 1094s > _, _, actual_res = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:722: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s ________ TestDatasetTree.test_print_stats[0-1-3 datasets, 1 directory] _________ 1094s 1094s self = 1094s dataset_depth = 0, depth = 1, expected_stats_str = '3 datasets, 1 directory' 1094s 1094s def test_print_stats( 1094s self, dataset_depth, depth, expected_stats_str 1094s ): 1094s root = str(self.path / "root") 1094s 1094s recursive_opts = ["--recursive"] 1094s if dataset_depth is not None: 1094s recursive_opts = ['--recursion-limit', str(dataset_depth)] 1094s 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s *recursive_opts 1094s ] 1094s > _, _, actual_res = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:722: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s _______ TestDatasetTree.test_print_stats[0-2-3 datasets, 2 directories] ________ 1094s 1094s self = 1094s dataset_depth = 0, depth = 2, expected_stats_str = '3 datasets, 2 directories' 1094s 1094s def test_print_stats( 1094s self, dataset_depth, depth, expected_stats_str 1094s ): 1094s root = str(self.path / "root") 1094s 1094s recursive_opts = ["--recursive"] 1094s if dataset_depth is not None: 1094s recursive_opts = ['--recursion-limit', str(dataset_depth)] 1094s 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s *recursive_opts 1094s ] 1094s > _, _, actual_res = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:722: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s ________ TestDatasetTree.test_print_stats[1-0-6 datasets, 1 directory] _________ 1094s 1094s self = 1094s dataset_depth = 1, depth = 0, expected_stats_str = '6 datasets, 1 directory' 1094s 1094s def test_print_stats( 1094s self, dataset_depth, depth, expected_stats_str 1094s ): 1094s root = str(self.path / "root") 1094s 1094s recursive_opts = ["--recursive"] 1094s if dataset_depth is not None: 1094s recursive_opts = ['--recursion-limit', str(dataset_depth)] 1094s 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s *recursive_opts 1094s ] 1094s > _, _, actual_res = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:722: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s _______ TestDatasetTree.test_print_stats[1-2-6 datasets, 2 directories] ________ 1094s 1094s self = 1094s dataset_depth = 1, depth = 2, expected_stats_str = '6 datasets, 2 directories' 1094s 1094s def test_print_stats( 1094s self, dataset_depth, depth, expected_stats_str 1094s ): 1094s root = str(self.path / "root") 1094s 1094s recursive_opts = ["--recursive"] 1094s if dataset_depth is not None: 1094s recursive_opts = ['--recursion-limit', str(dataset_depth)] 1094s 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s *recursive_opts 1094s ] 1094s > _, _, actual_res = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:722: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s _______ TestDatasetTree.test_print_stats[None-0-7 datasets, 1 directory] _______ 1094s 1094s self = 1094s dataset_depth = None, depth = 0, expected_stats_str = '7 datasets, 1 directory' 1094s 1094s def test_print_stats( 1094s self, dataset_depth, depth, expected_stats_str 1094s ): 1094s root = str(self.path / "root") 1094s 1094s recursive_opts = ["--recursive"] 1094s if dataset_depth is not None: 1094s recursive_opts = ['--recursion-limit', str(dataset_depth)] 1094s 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s *recursive_opts 1094s ] 1094s > _, _, actual_res = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:722: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s ______ TestDatasetTree.test_print_stats[None-2-7 datasets, 2 directories] ______ 1094s 1094s self = 1094s dataset_depth = None, depth = 2 1094s expected_stats_str = '7 datasets, 2 directories' 1094s 1094s def test_print_stats( 1094s self, dataset_depth, depth, expected_stats_str 1094s ): 1094s root = str(self.path / "root") 1094s 1094s recursive_opts = ["--recursive"] 1094s if dataset_depth is not None: 1094s recursive_opts = ['--recursion-limit', str(dataset_depth)] 1094s 1094s command = [ 1094s 'tree', 1094s root, 1094s '--depth', str(depth), 1094s *recursive_opts 1094s ] 1094s > _, _, actual_res = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:722: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s __________ TestTreeFilesystemIssues.test_print_tree_permission_denied __________ 1094s 1094s self = 1094s tmp_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_print_tree_permission_den0') 1094s 1094s @skip_if_root # see https://github.com/datalad/datalad-next/issues/525 1094s @skip_if_on_windows 1094s @skip_wo_symlink_capability 1094s def test_print_tree_permission_denied(self, tmp_path): 1094s """ 1094s - If the tree contains a directory for which the user has no 1094s permissions (so it would not be possible to traverse it), a message 1094s should be displayed next to the affected directory path 1094s - The rest of the tree following the forbidden directory should 1094s be printed as usual 1094s - The command should return error exit status but not crash 1094s """ 1094s (tmp_path / 'z_dir' / 'subdir').mkdir(parents=True) 1094s forbidden_dir = tmp_path / 'a_forbidden_dir' 1094s forbidden_dir.mkdir(parents=True) 1094s # temporarily remove all permissions (octal 000) 1094s # restore permissions at the end, otherwise we can't delete temp dir 1094s with ensure_no_permissions(forbidden_dir): 1094s command = ['tree', str(tmp_path), '--depth', '2'] 1094s # expect exit code 1 1094s > _, actual, _ = get_tree_rendered_output(command, exit_code=1) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:756: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 1, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s _______ TestTreeFilesystemIssues.test_print_tree_with_recursive_symlinks _______ 1094s 1094s self = 1094s tmp_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_print_tree_with_recursive0') 1094s 1094s @skip_wo_symlink_capability 1094s def test_print_tree_with_recursive_symlinks(self, tmp_path): 1094s """ 1094s TODO: break down into separate tests 1094s 1094s - Symlinks targets are displayed in custom renderer output 1094s - We do not follow symlinks that point to directories underneath 1094s the tree root or its parent (to prevent duplicate subtrees) 1094s - Symlinks pointing to datasets are not considered dataset nodes 1094s themselves, but regular directories (to prevent duplicate counts 1094s of datasets) 1094s """ 1094s ds = get_deeply_nested_structure(str(tmp_path / 'superds')) 1094s 1094s # change current dir to create symlinks with relative path 1094s with chpwd(ds.path): 1094s # create symlink to a sibling directory of the tree 1094s # (should be recursed into) 1094s (tmp_path / 'ext_dir' / 'ext_subdir').mkdir(parents=True) 1094s Path('link2extdir').symlink_to(Path('..') / 'ext_dir', 1094s target_is_directory=True) 1094s 1094s # create symlink to grandparent of the tree root (should NOT 1094s # be recursed into) 1094s Path('link2parent').symlink_to(Path('..') / '..', 1094s target_is_directory=True) 1094s 1094s # create symlink to subdir of the tree root at depth > max_depth 1094s # (should be recursed into) 1094s deepdir = Path('subds_modified') / 'subdir' / 'deepdir' 1094s deepdir.mkdir() 1094s (deepdir / 'subdeepdir').mkdir() 1094s Path('link2deepdir').symlink_to(deepdir, target_is_directory=True) 1094s 1094s root = ds.path 1094s command = ["tree", "--depth", "2", root] 1094s > _, actual_res, counts = get_tree_rendered_output(command) 1094s 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:951: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/commands/tests/test_tree.py:174: in get_tree_rendered_output 1094s out, _ = run_main([c for c in tree_cmd if c != ''], exit_code=exit_code) 1094s /usr/lib/python3/dist-packages/datalad/cli/tests/test_main.py:83: in run_main 1094s assert_equal(cm.value.code, exit_code) 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s first = 2, second = 0, msg = None 1094s 1094s def assert_equal(first, second, msg=None): 1094s if msg is None: 1094s > assert first == second 1094s E AssertionError 1094s 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:80: AssertionError 1094s ------------------------------ Captured log call ------------------------------- 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/pytest-of-ubuntu/pytest-0/test_print_tree_with_recursive0/superds 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/pytest-of-ubuntu/pytest-0/test_print_tree_with_recursive0/superds 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/pytest-of-ubuntu/pytest-0/test_print_tree_with_recursive0/superds 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/pytest-of-ubuntu/pytest-0/test_print_tree_with_recursive0/superds/subds_modified 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/pytest-of-ubuntu/pytest-0/test_print_tree_with_recursive0/superds 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/pytest-of-ubuntu/pytest-0/test_print_tree_with_recursive0/superds/subds_modified 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s ______________________________ test_annex_remote _______________________________ 1094s 1094s existing_noannex_dataset = Dataset('/tmp/pytest-of-ubuntu/pytest-0/dataset32') 1094s tmp_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_annex_remote0') 1094s no_result_rendering = None 1094s 1094s @skip_if_root # see https://github.com/datalad/datalad-next/issues/525 1094s def test_annex_remote(existing_noannex_dataset, tmp_path, no_result_rendering): 1094s remotepath = tmp_path / 'remote' 1094s # bypass the complications of folding a windows path into a file URL 1094s dlaurl = \ 1094s f'datalad-annex::?type=directory&directory={remotepath}&encryption=none' \ 1094s if on_windows else \ 1094s f'datalad-annex::file://{remotepath}?type=directory&directory={{path}}&encryption=none' 1094s ds = existing_noannex_dataset 1094s > _check_push_fetch_cycle(ds, dlaurl, remotepath, tmp_path) 1094s 1094s ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py:67: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py:102: in _check_push_fetch_cycle 1094s dsrepo.call_git(['push', '-u', 'dla', DEFAULT_BRANCH]) 1094s /usr/lib/python3/dist-packages/datalad/dataset/gitrepo.py:461: in call_git 1094s return "".join( 1094s /usr/lib/python3/dist-packages/datalad/dataset/gitrepo.py:525: in call_git_items_ 1094s for file_no, line in self._generator_call_git( 1094s /usr/lib/python3/dist-packages/datalad/dataset/gitrepo.py:363: in _generator_call_git 1094s for file_no, content in generator: 1094s :356: in __next__ 1094s ??? 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:100: in send 1094s return self._locked_send(message) 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:125: in _locked_send 1094s self._check_result() 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:96: in _check_result 1094s self.runner._check_result() 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = 1094s 1094s def _check_result(self): 1094s if self.exception_on_error is True: 1094s if self.return_code not in (0, None): 1094s protocol = self.protocol 1094s decoded_output = { 1094s source: protocol.fd_infos[fileno][1].decode(protocol.encoding) 1094s for source, fileno in ( 1094s ("stdout", protocol.stdout_fileno), 1094s ("stderr", protocol.stderr_fileno)) 1094s if protocol.fd_infos[fileno][1] is not None 1094s } 1094s > raise CommandError( 1094s cmd=self.cmd, 1094s code=self.return_code, 1094s stdout=decoded_output.get("stdout", None), 1094s stderr=decoded_output.get("stderr", None) 1094s ) 1094s E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false push -u dla dl-test-branch' failed with exitcode 1 [err: 'fatal: OutOfSpaceError(OutOfSpaceError: 'annex setkey XDLRA--repo-export /tmp/pytest-of-ubuntu/pytest-0/dataset32/.git/dl-repoannex/dla/repoarchive.zip' needs 100 MB more) 1094s E To datalad-annex::file:///tmp/pytest-of-ubuntu/pytest-0/test_annex_remote0/remote?type=directory&directory={path}&encryption=none 1094s E * [new branch] dl-test-branch -> dl-test-branch 1094s E error: failed to push some refs to 'datalad-annex::file:///tmp/pytest-of-ubuntu/pytest-0/test_annex_remote0/remote?type=directory&directory={path}&encryption=none''] 1094s 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:298: CommandError 1094s ______________________________ test_export_remote ______________________________ 1094s 1094s existing_noannex_dataset = Dataset('/tmp/pytest-of-ubuntu/pytest-0/dataset33') 1094s tmp_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_export_remote0') 1094s no_result_rendering = None 1094s 1094s @skip_if_root # see https://github.com/datalad/datalad-next/issues/525 1094s def test_export_remote(existing_noannex_dataset, tmp_path, no_result_rendering): 1094s remotepath = tmp_path / 'remote' 1094s # bypass the complications of folding a windows path into a file URL 1094s dlaurl = \ 1094s f'datalad-annex::?type=directory&directory={remotepath}&encryption=none&exporttree=yes' \ 1094s if on_windows else \ 1094s f'datalad-annex::file://{remotepath}?type=directory&directory={{path}}&encryption=none&exporttree=yes' 1094s ds = existing_noannex_dataset 1094s > _check_push_fetch_cycle(ds, dlaurl, remotepath, tmp_path) 1094s 1094s ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py:79: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py:102: in _check_push_fetch_cycle 1094s dsrepo.call_git(['push', '-u', 'dla', DEFAULT_BRANCH]) 1094s /usr/lib/python3/dist-packages/datalad/dataset/gitrepo.py:461: in call_git 1094s return "".join( 1094s /usr/lib/python3/dist-packages/datalad/dataset/gitrepo.py:525: in call_git_items_ 1094s for file_no, line in self._generator_call_git( 1094s /usr/lib/python3/dist-packages/datalad/dataset/gitrepo.py:363: in _generator_call_git 1094s for file_no, content in generator: 1094s :356: in __next__ 1094s ??? 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:100: in send 1094s return self._locked_send(message) 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:125: in _locked_send 1094s self._check_result() 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:96: in _check_result 1094s self.runner._check_result() 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = 1094s 1094s def _check_result(self): 1094s if self.exception_on_error is True: 1094s if self.return_code not in (0, None): 1094s protocol = self.protocol 1094s decoded_output = { 1094s source: protocol.fd_infos[fileno][1].decode(protocol.encoding) 1094s for source, fileno in ( 1094s ("stdout", protocol.stdout_fileno), 1094s ("stderr", protocol.stderr_fileno)) 1094s if protocol.fd_infos[fileno][1] is not None 1094s } 1094s > raise CommandError( 1094s cmd=self.cmd, 1094s code=self.return_code, 1094s stdout=decoded_output.get("stdout", None), 1094s stderr=decoded_output.get("stderr", None) 1094s ) 1094s E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false push -u dla dl-test-branch' failed with exitcode 1 [err: 'fatal: OutOfSpaceError(OutOfSpaceError: 'annex setkey XDLRA--repo-export /tmp/pytest-of-ubuntu/pytest-0/dataset33/.git/dl-repoannex/dla/repoarchive.zip' needs 100 MB more) 1094s E To datalad-annex::file:///tmp/pytest-of-ubuntu/pytest-0/test_export_remote0/remote?type=directory&directory={path}&encryption=none&exporttree=yes 1094s E * [new branch] dl-test-branch -> dl-test-branch 1094s E error: failed to push some refs to 'datalad-annex::file:///tmp/pytest-of-ubuntu/pytest-0/test_export_remote0/remote?type=directory&directory={path}&encryption=none&exporttree=yes''] 1094s 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:298: CommandError 1094s _________________________ test_annex_remote_autorepush _________________________ 1094s 1094s existing_noannex_dataset = Dataset('/tmp/pytest-of-ubuntu/pytest-0/dataset34') 1094s tmp_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_annex_remote_autorepush0') 1094s 1094s def test_annex_remote_autorepush(existing_noannex_dataset, tmp_path): 1094s remotepath = tmp_path 1094s # bypass the complications of folding a windows path into a file URL 1094s dlaurl = \ 1094s f'datalad-annex::?type=directory&directory={remotepath}&encryption=none' \ 1094s if on_windows else \ 1094s f'datalad-annex::file://{remotepath}?type=directory&directory={{path}}&encryption=none' 1094s > _check_repush_after_vanish(existing_noannex_dataset, dlaurl, remotepath) 1094s 1094s ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py:195: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py:213: in _check_repush_after_vanish 1094s dsrepo.call_git(['push', '-u', 'dla', DEFAULT_BRANCH]) 1094s /usr/lib/python3/dist-packages/datalad/dataset/gitrepo.py:461: in call_git 1094s return "".join( 1094s /usr/lib/python3/dist-packages/datalad/dataset/gitrepo.py:525: in call_git_items_ 1094s for file_no, line in self._generator_call_git( 1094s /usr/lib/python3/dist-packages/datalad/dataset/gitrepo.py:363: in _generator_call_git 1094s for file_no, content in generator: 1094s :356: in __next__ 1094s ??? 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:100: in send 1094s return self._locked_send(message) 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:125: in _locked_send 1094s self._check_result() 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:96: in _check_result 1094s self.runner._check_result() 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = 1094s 1094s def _check_result(self): 1094s if self.exception_on_error is True: 1094s if self.return_code not in (0, None): 1094s protocol = self.protocol 1094s decoded_output = { 1094s source: protocol.fd_infos[fileno][1].decode(protocol.encoding) 1094s for source, fileno in ( 1094s ("stdout", protocol.stdout_fileno), 1094s ("stderr", protocol.stderr_fileno)) 1094s if protocol.fd_infos[fileno][1] is not None 1094s } 1094s > raise CommandError( 1094s cmd=self.cmd, 1094s code=self.return_code, 1094s stdout=decoded_output.get("stdout", None), 1094s stderr=decoded_output.get("stderr", None) 1094s ) 1094s E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false push -u dla dl-test-branch' failed with exitcode 1 [err: 'fatal: OutOfSpaceError(OutOfSpaceError: 'annex setkey XDLRA--repo-export /tmp/pytest-of-ubuntu/pytest-0/dataset34/.git/dl-repoannex/dla/repoarchive.zip' needs 100 MB more) 1094s E To datalad-annex::file:///tmp/pytest-of-ubuntu/pytest-0/test_annex_remote_autorepush0?type=directory&directory={path}&encryption=none 1094s E * [new branch] dl-test-branch -> dl-test-branch 1094s E error: failed to push some refs to 'datalad-annex::file:///tmp/pytest-of-ubuntu/pytest-0/test_annex_remote_autorepush0?type=directory&directory={path}&encryption=none''] 1094s 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:298: CommandError 1094s ________________________ test_export_remote_autorepush _________________________ 1094s 1094s existing_noannex_dataset = Dataset('/tmp/pytest-of-ubuntu/pytest-0/dataset35') 1094s tmp_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_export_remote_autorepush0') 1094s 1094s def test_export_remote_autorepush(existing_noannex_dataset, tmp_path): 1094s remotepath = tmp_path 1094s # bypass the complications of folding a windows path into a file URL 1094s dlaurl = \ 1094s f'datalad-annex::?type=directory&directory={remotepath}&encryption=none&exporttree=yes' \ 1094s if on_windows else \ 1094s f'datalad-annex::file://{remotepath}?type=directory&directory={{path}}&encryption=none&exporttree=yes' 1094s > _check_repush_after_vanish(existing_noannex_dataset, dlaurl, remotepath) 1094s 1094s ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py:205: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py:213: in _check_repush_after_vanish 1094s dsrepo.call_git(['push', '-u', 'dla', DEFAULT_BRANCH]) 1094s /usr/lib/python3/dist-packages/datalad/dataset/gitrepo.py:461: in call_git 1094s return "".join( 1094s /usr/lib/python3/dist-packages/datalad/dataset/gitrepo.py:525: in call_git_items_ 1094s for file_no, line in self._generator_call_git( 1094s /usr/lib/python3/dist-packages/datalad/dataset/gitrepo.py:363: in _generator_call_git 1094s for file_no, content in generator: 1094s :356: in __next__ 1094s ??? 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:100: in send 1094s return self._locked_send(message) 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:125: in _locked_send 1094s self._check_result() 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:96: in _check_result 1094s self.runner._check_result() 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = 1094s 1094s def _check_result(self): 1094s if self.exception_on_error is True: 1094s if self.return_code not in (0, None): 1094s protocol = self.protocol 1094s decoded_output = { 1094s source: protocol.fd_infos[fileno][1].decode(protocol.encoding) 1094s for source, fileno in ( 1094s ("stdout", protocol.stdout_fileno), 1094s ("stderr", protocol.stderr_fileno)) 1094s if protocol.fd_infos[fileno][1] is not None 1094s } 1094s > raise CommandError( 1094s cmd=self.cmd, 1094s code=self.return_code, 1094s stdout=decoded_output.get("stdout", None), 1094s stderr=decoded_output.get("stderr", None) 1094s ) 1094s E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false push -u dla dl-test-branch' failed with exitcode 1 [err: 'fatal: OutOfSpaceError(OutOfSpaceError: 'annex setkey XDLRA--repo-export /tmp/pytest-of-ubuntu/pytest-0/dataset35/.git/dl-repoannex/dla/repoarchive.zip' needs 100 MB more) 1094s E To datalad-annex::file:///tmp/pytest-of-ubuntu/pytest-0/test_export_remote_autorepush0?type=directory&directory={path}&encryption=none&exporttree=yes 1094s E * [new branch] dl-test-branch -> dl-test-branch 1094s E error: failed to push some refs to 'datalad-annex::file:///tmp/pytest-of-ubuntu/pytest-0/test_export_remote_autorepush0?type=directory&directory={path}&encryption=none&exporttree=yes''] 1094s 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:298: CommandError 1094s ______________________________ test_typeweb_annex ______________________________ 1094s 1094s existing_noannex_dataset = Dataset('/tmp/pytest-of-ubuntu/pytest-0/dataset36') 1094s http_server = 1094s tmp_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_typeweb_annex0') 1094s no_result_rendering = None 1094s 1094s def test_typeweb_annex(existing_noannex_dataset, http_server, tmp_path, 1094s no_result_rendering): 1094s > _check_typeweb( 1094s # bypass the complications of folding a windows path into a file URL 1094s 'datalad-annex::?type=directory&directory={export}&encryption=none' \ 1094s if on_windows else 1094s 'datalad-annex::file://{export}?type=directory&directory={{path}}&encryption=none', 1094s 'datalad-annex::{url}?type=web&url={{noquery}}', 1094s existing_noannex_dataset, 1094s http_server, 1094s tmp_path, 1094s ) 1094s 1094s ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py:253: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py:301: in _check_typeweb 1094s ds.repo.call_git(['push', '-u', 'dla', DEFAULT_BRANCH]) 1094s /usr/lib/python3/dist-packages/datalad/dataset/gitrepo.py:461: in call_git 1094s return "".join( 1094s /usr/lib/python3/dist-packages/datalad/dataset/gitrepo.py:525: in call_git_items_ 1094s for file_no, line in self._generator_call_git( 1094s /usr/lib/python3/dist-packages/datalad/dataset/gitrepo.py:363: in _generator_call_git 1094s for file_no, content in generator: 1094s :356: in __next__ 1094s ??? 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:100: in send 1094s return self._locked_send(message) 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:125: in _locked_send 1094s self._check_result() 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:96: in _check_result 1094s self.runner._check_result() 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = 1094s 1094s def _check_result(self): 1094s if self.exception_on_error is True: 1094s if self.return_code not in (0, None): 1094s protocol = self.protocol 1094s decoded_output = { 1094s source: protocol.fd_infos[fileno][1].decode(protocol.encoding) 1094s for source, fileno in ( 1094s ("stdout", protocol.stdout_fileno), 1094s ("stderr", protocol.stderr_fileno)) 1094s if protocol.fd_infos[fileno][1] is not None 1094s } 1094s > raise CommandError( 1094s cmd=self.cmd, 1094s code=self.return_code, 1094s stdout=decoded_output.get("stdout", None), 1094s stderr=decoded_output.get("stderr", None) 1094s ) 1094s E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false push -u dla dl-test-branch' failed with exitcode 1 [err: 'fatal: OutOfSpaceError(OutOfSpaceError: 'annex setkey XDLRA--repo-export /tmp/pytest-of-ubuntu/pytest-0/dataset36/.git/dl-repoannex/dla/repoarchive.zip' needs 100 MB more) 1094s E To datalad-annex::file:///tmp/pytest-of-ubuntu/pytest-0/webdav7?type=directory&directory={path}&encryption=none 1094s E * [new branch] dl-test-branch -> dl-test-branch 1094s E error: failed to push some refs to 'datalad-annex::file:///tmp/pytest-of-ubuntu/pytest-0/webdav7?type=directory&directory={path}&encryption=none''] 1094s 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:298: CommandError 1094s _______________________ test_typeweb_annex_uncompressed ________________________ 1094s 1094s existing_noannex_dataset = Dataset('/tmp/pytest-of-ubuntu/pytest-0/dataset37') 1094s http_server = 1094s tmp_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_typeweb_annex_uncompresse0') 1094s no_result_rendering = None 1094s 1094s def test_typeweb_annex_uncompressed( 1094s existing_noannex_dataset, http_server, tmp_path, no_result_rendering): 1094s > _check_typeweb( 1094s # bypass the complications of folding a windows path into a file URL 1094s 'datalad-annex::?type=directory&directory={export}&encryption=none&dladotgit=uncompressed' \ 1094s if on_windows else 1094s 'datalad-annex::file://{export}?type=directory&directory={{path}}&encryption=none&dladotgit=uncompressed', 1094s 'datalad-annex::{url}?type=web&url={{noquery}}', 1094s existing_noannex_dataset, 1094s http_server, 1094s tmp_path, 1094s ) 1094s 1094s ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py:268: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py:301: in _check_typeweb 1094s ds.repo.call_git(['push', '-u', 'dla', DEFAULT_BRANCH]) 1094s /usr/lib/python3/dist-packages/datalad/dataset/gitrepo.py:461: in call_git 1094s return "".join( 1094s /usr/lib/python3/dist-packages/datalad/dataset/gitrepo.py:525: in call_git_items_ 1094s for file_no, line in self._generator_call_git( 1094s /usr/lib/python3/dist-packages/datalad/dataset/gitrepo.py:363: in _generator_call_git 1094s for file_no, content in generator: 1094s :356: in __next__ 1094s ??? 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:100: in send 1094s return self._locked_send(message) 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:125: in _locked_send 1094s self._check_result() 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:96: in _check_result 1094s self.runner._check_result() 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = 1094s 1094s def _check_result(self): 1094s if self.exception_on_error is True: 1094s if self.return_code not in (0, None): 1094s protocol = self.protocol 1094s decoded_output = { 1094s source: protocol.fd_infos[fileno][1].decode(protocol.encoding) 1094s for source, fileno in ( 1094s ("stdout", protocol.stdout_fileno), 1094s ("stderr", protocol.stderr_fileno)) 1094s if protocol.fd_infos[fileno][1] is not None 1094s } 1094s > raise CommandError( 1094s cmd=self.cmd, 1094s code=self.return_code, 1094s stdout=decoded_output.get("stdout", None), 1094s stderr=decoded_output.get("stderr", None) 1094s ) 1094s E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false push -u dla dl-test-branch' failed with exitcode 1 [err: 'fatal: OutOfSpaceError(OutOfSpaceError: 'annex setkey XDLRA--repo-export /tmp/pytest-of-ubuntu/pytest-0/dataset37/.git/dl-repoannex/dla/repoarchive.zip' needs 100 MB more) 1094s E To datalad-annex::file:///tmp/pytest-of-ubuntu/pytest-0/webdav8?type=directory&directory={path}&encryption=none&dladotgit=uncompressed 1094s E * [new branch] dl-test-branch -> dl-test-branch 1094s E error: failed to push some refs to 'datalad-annex::file:///tmp/pytest-of-ubuntu/pytest-0/webdav8?type=directory&directory={path}&encryption=none&dladotgit=uncompressed''] 1094s 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:298: CommandError 1094s _____________________________ test_typeweb_export ______________________________ 1094s 1094s existing_noannex_dataset = Dataset('/tmp/pytest-of-ubuntu/pytest-0/dataset38') 1094s http_server = 1094s tmp_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_typeweb_export0') 1094s no_result_rendering = None 1094s 1094s def test_typeweb_export(existing_noannex_dataset, http_server, tmp_path, 1094s no_result_rendering): 1094s > _check_typeweb( 1094s # bypass the complications of folding a windows path into a file URL 1094s 'datalad-annex::?type=directory&directory={export}&encryption=none&exporttree=yes' \ 1094s if on_windows else 1094s 'datalad-annex::file://{export}?type=directory&directory={{path}}&encryption=none&exporttree=yes', 1094s # when nothing is given type=web&exporttree=yes is the default 1094s 'datalad-annex::{url}', 1094s existing_noannex_dataset, 1094s http_server, 1094s tmp_path, 1094s ) 1094s 1094s ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py:282: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py:301: in _check_typeweb 1094s ds.repo.call_git(['push', '-u', 'dla', DEFAULT_BRANCH]) 1094s /usr/lib/python3/dist-packages/datalad/dataset/gitrepo.py:461: in call_git 1094s return "".join( 1094s /usr/lib/python3/dist-packages/datalad/dataset/gitrepo.py:525: in call_git_items_ 1094s for file_no, line in self._generator_call_git( 1094s /usr/lib/python3/dist-packages/datalad/dataset/gitrepo.py:363: in _generator_call_git 1094s for file_no, content in generator: 1094s :356: in __next__ 1094s ??? 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:100: in send 1094s return self._locked_send(message) 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:125: in _locked_send 1094s self._check_result() 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:96: in _check_result 1094s self.runner._check_result() 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = 1094s 1094s def _check_result(self): 1094s if self.exception_on_error is True: 1094s if self.return_code not in (0, None): 1094s protocol = self.protocol 1094s decoded_output = { 1094s source: protocol.fd_infos[fileno][1].decode(protocol.encoding) 1094s for source, fileno in ( 1094s ("stdout", protocol.stdout_fileno), 1094s ("stderr", protocol.stderr_fileno)) 1094s if protocol.fd_infos[fileno][1] is not None 1094s } 1094s > raise CommandError( 1094s cmd=self.cmd, 1094s code=self.return_code, 1094s stdout=decoded_output.get("stdout", None), 1094s stderr=decoded_output.get("stderr", None) 1094s ) 1094s E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false push -u dla dl-test-branch' failed with exitcode 1 [err: 'fatal: OutOfSpaceError(OutOfSpaceError: 'annex setkey XDLRA--repo-export /tmp/pytest-of-ubuntu/pytest-0/dataset38/.git/dl-repoannex/dla/repoarchive.zip' needs 100 MB more) 1094s E To datalad-annex::file:///tmp/pytest-of-ubuntu/pytest-0/webdav9?type=directory&directory={path}&encryption=none&exporttree=yes 1094s E * [new branch] dl-test-branch -> dl-test-branch 1094s E error: failed to push some refs to 'datalad-annex::file:///tmp/pytest-of-ubuntu/pytest-0/webdav9?type=directory&directory={path}&encryption=none&exporttree=yes''] 1094s 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:298: CommandError 1094s ______________________________ test_submodule_url ______________________________ 1094s 1094s tmp_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_submodule_url0') 1094s existing_noannex_dataset = Dataset('/tmp/pytest-of-ubuntu/pytest-0/dataset39') 1094s http_server = 1094s no_result_rendering = None 1094s 1094s def test_submodule_url(tmp_path, existing_noannex_dataset, http_server, 1094s no_result_rendering): 1094s servepath = http_server.path 1094s url = http_server.url 1094s # a future subdataset that we want to register under a complex URL 1094s tobesubds = existing_noannex_dataset 1094s # push to test web server, this URL doesn't matter yet 1094s tobesubds.repo.call_git([ 1094s 'remote', 'add', 'dla', 1094s # bypass the complications of folding a windows path into a file URL 1094s f'datalad-annex::?type=directory&directory={servepath}&encryption=none&exporttree=yes' 1094s if on_windows else 1094s f'datalad-annex::file://{servepath}?type=directory&directory={{path}}&encryption=none&exporttree=yes', 1094s ]) 1094s > tobesubds.repo.call_git(['push', '-u', 'dla', DEFAULT_BRANCH]) 1094s 1094s ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py:329: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s /usr/lib/python3/dist-packages/datalad/dataset/gitrepo.py:461: in call_git 1094s return "".join( 1094s /usr/lib/python3/dist-packages/datalad/dataset/gitrepo.py:525: in call_git_items_ 1094s for file_no, line in self._generator_call_git( 1094s /usr/lib/python3/dist-packages/datalad/dataset/gitrepo.py:363: in _generator_call_git 1094s for file_no, content in generator: 1094s :356: in __next__ 1094s ??? 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:100: in send 1094s return self._locked_send(message) 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:125: in _locked_send 1094s self._check_result() 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:96: in _check_result 1094s self.runner._check_result() 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = 1094s 1094s def _check_result(self): 1094s if self.exception_on_error is True: 1094s if self.return_code not in (0, None): 1094s protocol = self.protocol 1094s decoded_output = { 1094s source: protocol.fd_infos[fileno][1].decode(protocol.encoding) 1094s for source, fileno in ( 1094s ("stdout", protocol.stdout_fileno), 1094s ("stderr", protocol.stderr_fileno)) 1094s if protocol.fd_infos[fileno][1] is not None 1094s } 1094s > raise CommandError( 1094s cmd=self.cmd, 1094s code=self.return_code, 1094s stdout=decoded_output.get("stdout", None), 1094s stderr=decoded_output.get("stderr", None) 1094s ) 1094s E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false push -u dla dl-test-branch' failed with exitcode 1 [err: 'fatal: OutOfSpaceError(OutOfSpaceError: 'annex setkey XDLRA--repo-export /tmp/pytest-of-ubuntu/pytest-0/dataset39/.git/dl-repoannex/dla/repoarchive.zip' needs 100 MB more) 1094s E To datalad-annex::file:///tmp/pytest-of-ubuntu/pytest-0/webdav10?type=directory&directory={path}&encryption=none&exporttree=yes 1094s E * [new branch] dl-test-branch -> dl-test-branch 1094s E error: failed to push some refs to 'datalad-annex::file:///tmp/pytest-of-ubuntu/pytest-0/webdav10?type=directory&directory={path}&encryption=none&exporttree=yes''] 1094s 1094s /usr/lib/python3/dist-packages/datalad/runner/nonasyncrunner.py:298: CommandError 1094s _______________________________ test_push[True] ________________________________ 1094s 1094s annex = True 1094s 1094s @pytest.mark.parametrize("annex", [False, True]) 1094s def test_push(annex): 1094s > check_push(annex) 1094s 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/tests/test_push.py:259: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:927: in _wrap_with_tempfile 1094s return t(*(arg + (filename,)), **kw) 1094s /usr/lib/python3/dist-packages/datalad/tests/utils_pytest.py:927: in _wrap_with_tempfile 1094s return t(*(arg + (filename,)), **kw) 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/tests/test_push.py:200: in check_push 1094s res = src.push(to='target', since="^", jobs=2) 1094s /usr/lib/python3/dist-packages/datalad/distribution/dataset.py:507: in apply_func 1094s return f(*args, **kwargs) 1094s /usr/lib/python3/dist-packages/datalad/interface/base.py:773: in eval_func 1094s return return_func(*args, **kwargs) 1094s /usr/lib/python3/dist-packages/datalad/interface/base.py:763: in return_func 1094s results = list(results) 1094s ../build.vXv/src/datalad_next/patches/interface_utils.py:218: in _execute_command_ 1094s for r in _process_results( 1094s /usr/lib/python3/dist-packages/datalad/interface/utils.py:319: in _process_results 1094s for res in results: 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/push.py:259: in __call__ 1094s yield from _push( 1094s ../build.vXv/src/datalad_next/patches/push_optimize.py:184: in _push 1094s yield from mod_push._transfer_data( 1094s ../build.vXv/src/datalad_next/patches/push_to_export_remote.py:170: in _transfer_data 1094s yield from mod_push._push_data( 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/push.py:898: in _push_data 1094s res = ds_repo._call_annex_records( 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1134: in _call_annex_records 1094s raise e 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1094: in _call_annex_records 1094s out = self._call_annex( 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:997: in _call_annex 1094s return runner.run( 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s protocol = 1094s stdin = b'test_mod_annex_file\x00', cwd = None, env = None, timeout = None 1094s exception_on_error = True, kwargs = {'total_nbytes': 12} 1094s applied_cwd = PosixPath('/tmp/datalad_temp_check_pushe7mvme3k') 1094s applied_env = {'ADTTMP': '/tmp/autopkgtest.WXFAly/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-ar...: 'python-psutil/5.9.8-2build3', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-artifacts', ...} 1094s threaded_runner = 1094s results_or_iterator = {'code': 1, 'stderr': 'copy: 1 failed\n', 'stdout': '', 'stdout_json': [{'command': 'copy', 'error-messages': ['failed...could have failed because --fast is enabled.'], 'file': 'test_mod_annex_file', 'input': ['test_mod_annex_file'], ...}]} 1094s results = {'code': 1, 'stderr': 'copy: 1 failed\n', 'stdout': '', 'stdout_json': [{'command': 'copy', 'error-messages': ['failed...could have failed because --fast is enabled.'], 'file': 'test_mod_annex_file', 'input': ['test_mod_annex_file'], ...}]} 1094s return_code = 1 1094s 1094s def run(self, 1094s cmd: list | str, 1094s protocol: type[WitlessProtocol] | None = None, 1094s stdin: bytes | IO | Queue | None = None, 1094s cwd: PathLike | str | None = None, 1094s env: dict | None = None, 1094s timeout: float | None = None, 1094s exception_on_error: bool = True, 1094s **kwargs) -> dict | _ResultGenerator: 1094s """Execute a command and communicate with it. 1094s 1094s Parameters 1094s ---------- 1094s cmd : list or str 1094s Sequence of program arguments. Passing a single string causes 1094s execution via the platform shell. 1094s protocol : WitlessProtocol, optional 1094s Protocol class handling interaction with the running process 1094s (e.g. output capture). A number of pre-crafted classes are 1094s provided (e.g `KillOutput`, `NoCapture`, `GitProgress`). 1094s If the protocol has the GeneratorMixIn-mixin, the run-method 1094s will return an iterator and can therefore be used in a for-clause. 1094s stdin : file-like, bytes, Queue, or None 1094s If stdin is a file-like, it will be directly used as stdin for the 1094s subprocess. The caller is responsible for writing to it and closing it. 1094s If stdin is a bytes, it will be fed to stdin of the subprocess. 1094s If all data is written, stdin will be closed. 1094s If stdin is a Queue, all elements (bytes) put into the Queue will 1094s be passed to stdin until None is read from the queue. If None is read, 1094s stdin of the subprocess is closed. 1094s cwd : str or path-like, optional 1094s If given, commands are executed with this path as PWD, 1094s the PWD of the parent process is used otherwise. Overrides 1094s any `cwd` given to the constructor. 1094s env : dict, optional 1094s Environment to be used for command execution. If given, it will 1094s completely replace any environment provided to theconstructor. If 1094s `cwd` is given, 'PWD' in the environment is set to its value. 1094s This must be a complete environment definition, no values 1094s from the current environment will be inherited. Overrides 1094s any `env` given to the constructor. 1094s timeout: float, optional 1094s None or the seconds after which a timeout callback is 1094s invoked, if no progress was made in communicating with 1094s the sub-process, or if waiting for the subprocess exit 1094s took more than the specified time. See the protocol and 1094s `ThreadedRunner` descriptions for a more detailed discussion 1094s on timeouts. 1094s exception_on_error : bool, optional 1094s This argument is first interpreted if the protocol is a subclass 1094s of `GeneratorMixIn`. If it is `True` (default), a 1094s `CommandErrorException` is raised by the generator if the 1094s sub process exited with a return code not equal to zero. If the 1094s parameter is `False`, no exception is raised. In both cases the 1094s return code can be read from the attribute `return_code` of 1094s the generator. Then this argument interpreted within this function 1094s to not raise `CommandError` if value is False in case of non-0 exit. 1094s kwargs : 1094s Passed to the Protocol class constructor. 1094s 1094s Returns 1094s ------- 1094s dict | _ResultGenerator 1094s 1094s If the protocol is not a subclass of `GeneratorMixIn`, the 1094s result of protocol._prepare_result will be returned. 1094s 1094s If the protocol is a subclass of `GeneratorMixIn`, a Generator, i.e. 1094s a `_ResultGenerator`, will be returned. This allows to use this 1094s method in constructs like: 1094s 1094s for protocol_output in runner.run(): 1094s ... 1094s 1094s Where the iterator yields whatever protocol.pipe_data_received 1094s sends into the generator. 1094s If all output was yielded and the process has terminated, the 1094s generator will raise StopIteration(return_code), where 1094s return_code is the return code of the process. The return code 1094s of the process will also be stored in the "return_code"-attribute 1094s of the runner. So you could write: 1094s 1094s gen = runner.run() 1094s for file_descriptor, data in gen: 1094s ... 1094s 1094s # get the return code of the process 1094s result = gen.return_code 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s On execution failure (non-zero exit code) this exception is 1094s raised which provides the command (cmd), stdout, stderr, 1094s exit code (status), and a message identifying the failed 1094s command, as properties. 1094s FileNotFoundError 1094s When a given executable does not exist. 1094s """ 1094s if protocol is None: 1094s # by default let all subprocess stream pass through 1094s protocol = NoCapture 1094s 1094s applied_cwd = cwd or self.cwd 1094s applied_env = self._get_adjusted_env( 1094s env=env or self.env, 1094s cwd=applied_cwd, 1094s ) 1094s 1094s lgr.debug( 1094s 'Run %r (protocol_class=%s) (cwd=%s)', 1094s cmd, 1094s protocol.__name__, 1094s applied_cwd 1094s ) 1094s 1094s threaded_runner = ThreadedRunner( 1094s cmd=cmd, 1094s protocol_class=protocol, 1094s stdin=stdin, 1094s protocol_kwargs=kwargs, 1094s timeout=timeout, 1094s exception_on_error=exception_on_error, 1094s cwd=applied_cwd, 1094s env=applied_env 1094s ) 1094s 1094s results_or_iterator = threaded_runner.run() 1094s if issubclass(protocol, GeneratorMixIn): 1094s return results_or_iterator 1094s 1094s results = cast(dict, results_or_iterator) 1094s # log before any exception is raised 1094s lgr.debug("Finished %r with status %s", cmd, results['code']) 1094s 1094s # make it such that we always blow if a protocol did not report 1094s # a return code at all or it was non-0 and we were not asked ignore 1094s # errors 1094s return_code = results.get('code', None) 1094s if return_code is None or (return_code and exception_on_error): 1094s # the runner has a better idea, doc string warns Protocol 1094s # implementations not to return these 1094s results.pop('cmd', None) 1094s results.pop('cwd', None) 1094s > raise CommandError( 1094s # whatever the results were, we carry them forward 1094s cmd=cmd, 1094s cwd=applied_cwd, 1094s **results, 1094s ) 1094s E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false annex copy --batch -z --to target --jobs 2 --fast --json --json-error-messages --json-progress -c annex.dotfiles=true' failed with exitcode 1 under /tmp/datalad_temp_check_pushe7mvme3k [info keys: stdout_json] 1094s E > to target... 1094s E failed to send content to remote 1094s E This could have failed because --fast is enabled. [err: 'copy: 1 failed'] 1094s 1094s /usr/lib/python3/dist-packages/datalad/runner/runner.py:242: CommandError 1094s ------------------------------ Captured log call ------------------------------- 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.push:log.py:432 Finished push of Dataset(/tmp/datalad_temp_check_pushe7mvme3k) 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad.core.distributed.push:log.py:432 Push refspecs 1094s INFO datalad.core.distributed.push:log.py:432 Transfer data 1094s INFO datalad.core.distributed.push:log.py:432 Update availability information 1094s INFO datalad.gitrepo:log.py:432 Start enumerating objects 1094s INFO datalad.gitrepo:log.py:432 Finished enumerating objects 1094s INFO datalad.gitrepo:log.py:432 Start counting objects 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 6% (1/16) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 12% (2/16) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 18% (3/16) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 25% (4/16) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 31% (5/16) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 37% (6/16) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 43% (7/16) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 50% (8/16) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 56% (9/16) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 62% (10/16) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 68% (11/16) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 75% (12/16) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 81% (13/16) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 87% (14/16) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 93% (15/16) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 100% (16/16) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 100% (16/16), done. 1094s INFO datalad.gitrepo:log.py:432 Finished counting objects 1094s INFO datalad.gitrepo:log.py:432 Start compressing objects 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 10% (1/10) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 20% (2/10) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 30% (3/10) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 40% (4/10) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 50% (5/10) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 60% (6/10) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 70% (7/10) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 80% (8/10) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 90% (9/10) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 100% (10/10) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 100% (10/10), done. 1094s INFO datalad.gitrepo:log.py:432 Finished compressing objects 1094s INFO datalad.gitrepo:log.py:432 Start writing objects 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 7% (1/14) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 14% (2/14) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 21% (3/14) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 28% (4/14) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 35% (5/14) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 42% (6/14) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 50% (7/14) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 57% (8/14) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 64% (9/14) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 71% (10/14) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 78% (11/14) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 85% (12/14) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 92% (13/14) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 100% (14/14) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 100% (14/14), 1.30 KiB | 1.30 MiB/s, done. 1094s INFO datalad.gitrepo:log.py:432 Finished writing objects 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.push:log.py:432 Finished push of Dataset(/tmp/datalad_temp_check_pushe7mvme3k) 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad.core.distributed.push:log.py:432 Push refspecs 1094s INFO datalad.core.distributed.push:log.py:432 Transfer data 1094s INFO datalad.core.distributed.push:log.py:432 Update availability information 1094s INFO datalad.core.distributed.push:log.py:432 Finished push of Dataset(/tmp/datalad_temp_check_pushe7mvme3k) 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/datalad_temp_check_pushe7mvme3k 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/datalad_temp_check_pushe7mvme3k 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad.core.distributed.push:log.py:432 Push refspecs 1094s INFO datalad.core.distributed.push:log.py:432 Transfer data 1094s INFO datalad.annex:log.py:432 Start annex operation 1094s INFO datalad.annex:log.py:432 Finished annex copy 1094s _____________________________ test_push_recursive ______________________________ 1094s 1094s origin_path = '/tmp/datalad_temp_test_push_recursiver4_o0pr9' 1094s src_path = '/tmp/datalad_temp_test_push_recursivem3kyw7c3' 1094s dst_top = '/tmp/datalad_temp_test_push_recursiver1h3sbtf' 1094s dst_sub = '/tmp/datalad_temp_test_push_recursivefi56g60jsub' 1094s dst_subnoannex = '/tmp/datalad_temp_test_push_recursiveu1qnus4jsubnoannex' 1094s dst_subsub = '/tmp/datalad_temp_test_push_recursivecqnij1btsubsub' 1094s 1094s @slow # 33sec on Yarik's laptop 1094s @with_tempfile 1094s @with_tempfile(mkdir=True) 1094s @with_tempfile(mkdir=True) 1094s @with_tempfile(mkdir=True, suffix='sub') 1094s @with_tempfile(mkdir=True, suffix='subnoannex') 1094s @with_tempfile(mkdir=True, suffix='subsub') 1094s def test_push_recursive( 1094s origin_path=None, src_path=None, dst_top=None, dst_sub=None, dst_subnoannex=None, dst_subsub=None): 1094s # dataset with two submodules and one subsubmodule 1094s origin = Dataset(origin_path).create() 1094s origin_subm1 = origin.create('sub m') 1094s origin_subm1.create('subsub m') 1094s origin.create('subm noannex', annex=False) 1094s origin.save() 1094s assert_repo_status(origin.path) 1094s # prepare src as a fresh clone with all subdatasets checkout out recursively 1094s # running on a clone should make the test scenario more different than 1094s # test_push(), even for the pieces that should be identical 1094s top = Clone.__call__(source=origin.path, path=src_path) 1094s subs = top.get('.', recursive=True, get_data=False, result_xfm='datasets') 1094s # order for '.' should not be relied upon, so sort by path 1094s sub, subsub, subnoannex = sorted(subs, key=lambda ds: ds.path) 1094s 1094s target_top = mk_push_target(top, 'target', dst_top, annex=True) 1094s # subdatasets have no remote yet, so recursive publishing should fail: 1094s res = top.push(to="target", recursive=True, on_failure='ignore') 1094s check_datasets_order(res) 1094s assert_in_results( 1094s res, path=top.path, type='dataset', 1094s refspec=DEFAULT_REFSPEC, 1094s operations=['new-branch'], action='publish', status='ok', 1094s target='target') 1094s for d in (sub, subsub, subnoannex): 1094s assert_in_results( 1094s res, status='error', type='dataset', path=d.path, 1094s message=("Unknown target sibling '%s'.", 1094s 'target')) 1094s # now fix that and set up targets for the submodules 1094s target_sub = mk_push_target(sub, 'target', dst_sub, annex=True) 1094s target_subnoannex = mk_push_target( 1094s subnoannex, 'target', dst_subnoannex, annex=False) 1094s target_subsub = mk_push_target(subsub, 'target', dst_subsub, annex=True) 1094s 1094s # and same push call as above 1094s res = top.push(to="target", recursive=True) 1094s check_datasets_order(res) 1094s # topds skipped 1094s assert_in_results( 1094s res, path=top.path, type='dataset', 1094s action='publish', status='notneeded', target='target') 1094s # the rest pushed 1094s for d in (sub, subsub, subnoannex): 1094s assert_in_results( 1094s res, status='ok', type='dataset', path=d.path, 1094s refspec=DEFAULT_REFSPEC) 1094s # all corresponding branches match across all datasets 1094s for s, d in zip((top, sub, subnoannex, subsub), 1094s (target_top, target_sub, target_subnoannex, 1094s target_subsub)): 1094s eq_(list(s.repo.get_branch_commits_(DEFAULT_BRANCH)), 1094s list(d.get_branch_commits_(DEFAULT_BRANCH))) 1094s if s != subnoannex: 1094s eq_(list(s.repo.get_branch_commits_("git-annex")), 1094s list(d.get_branch_commits_("git-annex"))) 1094s 1094s # rerun should not result in further pushes of the default branch 1094s res = top.push(to="target", recursive=True) 1094s check_datasets_order(res) 1094s assert_not_in_results( 1094s res, status='ok', refspec=DEFAULT_REFSPEC) 1094s assert_in_results( 1094s res, status='notneeded', refspec=DEFAULT_REFSPEC) 1094s 1094s # now annex a file in subsub 1094s test_copy_file = subsub.pathobj / 'test_mod_annex_file' 1094s test_copy_file.write_text("Heavy stuff.") 1094s # save all the way up 1094s assert_status( 1094s ('ok', 'notneeded'), 1094s top.save(message='subsub got something', recursive=True)) 1094s assert_repo_status(top.path) 1094s # publish straight up, should be smart by default 1094s > res = top.push(to="target", recursive=True) 1094s 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/tests/test_push.py:367: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s /usr/lib/python3/dist-packages/datalad/distribution/dataset.py:507: in apply_func 1094s return f(*args, **kwargs) 1094s /usr/lib/python3/dist-packages/datalad/interface/base.py:773: in eval_func 1094s return return_func(*args, **kwargs) 1094s /usr/lib/python3/dist-packages/datalad/interface/base.py:763: in return_func 1094s results = list(results) 1094s ../build.vXv/src/datalad_next/patches/interface_utils.py:218: in _execute_command_ 1094s for r in _process_results( 1094s /usr/lib/python3/dist-packages/datalad/interface/utils.py:319: in _process_results 1094s for res in results: 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/push.py:259: in __call__ 1094s yield from _push( 1094s ../build.vXv/src/datalad_next/patches/push_optimize.py:184: in _push 1094s yield from mod_push._transfer_data( 1094s ../build.vXv/src/datalad_next/patches/push_to_export_remote.py:170: in _transfer_data 1094s yield from mod_push._push_data( 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/push.py:898: in _push_data 1094s res = ds_repo._call_annex_records( 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1134: in _call_annex_records 1094s raise e 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1094: in _call_annex_records 1094s out = self._call_annex( 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:997: in _call_annex 1094s return runner.run( 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s protocol = 1094s stdin = b'test_mod_annex_file\x00', cwd = None, env = None, timeout = None 1094s exception_on_error = True, kwargs = {'total_nbytes': 12} 1094s applied_cwd = PosixPath('/tmp/datalad_temp_test_push_recursivem3kyw7c3/sub m/subsub m') 1094s applied_env = {'ADTTMP': '/tmp/autopkgtest.WXFAly/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-ar...: 'python-psutil/5.9.8-2build3', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-artifacts', ...} 1094s threaded_runner = 1094s results_or_iterator = {'code': 1, 'stderr': 'copy: 1 failed\n', 'stdout': '', 'stdout_json': [{'command': 'copy', 'error-messages': ['failed...could have failed because --fast is enabled.'], 'file': 'test_mod_annex_file', 'input': ['test_mod_annex_file'], ...}]} 1094s results = {'code': 1, 'stderr': 'copy: 1 failed\n', 'stdout': '', 'stdout_json': [{'command': 'copy', 'error-messages': ['failed...could have failed because --fast is enabled.'], 'file': 'test_mod_annex_file', 'input': ['test_mod_annex_file'], ...}]} 1094s return_code = 1 1094s 1094s def run(self, 1094s cmd: list | str, 1094s protocol: type[WitlessProtocol] | None = None, 1094s stdin: bytes | IO | Queue | None = None, 1094s cwd: PathLike | str | None = None, 1094s env: dict | None = None, 1094s timeout: float | None = None, 1094s exception_on_error: bool = True, 1094s **kwargs) -> dict | _ResultGenerator: 1094s """Execute a command and communicate with it. 1094s 1094s Parameters 1094s ---------- 1094s cmd : list or str 1094s Sequence of program arguments. Passing a single string causes 1094s execution via the platform shell. 1094s protocol : WitlessProtocol, optional 1094s Protocol class handling interaction with the running process 1094s (e.g. output capture). A number of pre-crafted classes are 1094s provided (e.g `KillOutput`, `NoCapture`, `GitProgress`). 1094s If the protocol has the GeneratorMixIn-mixin, the run-method 1094s will return an iterator and can therefore be used in a for-clause. 1094s stdin : file-like, bytes, Queue, or None 1094s If stdin is a file-like, it will be directly used as stdin for the 1094s subprocess. The caller is responsible for writing to it and closing it. 1094s If stdin is a bytes, it will be fed to stdin of the subprocess. 1094s If all data is written, stdin will be closed. 1094s If stdin is a Queue, all elements (bytes) put into the Queue will 1094s be passed to stdin until None is read from the queue. If None is read, 1094s stdin of the subprocess is closed. 1094s cwd : str or path-like, optional 1094s If given, commands are executed with this path as PWD, 1094s the PWD of the parent process is used otherwise. Overrides 1094s any `cwd` given to the constructor. 1094s env : dict, optional 1094s Environment to be used for command execution. If given, it will 1094s completely replace any environment provided to theconstructor. If 1094s `cwd` is given, 'PWD' in the environment is set to its value. 1094s This must be a complete environment definition, no values 1094s from the current environment will be inherited. Overrides 1094s any `env` given to the constructor. 1094s timeout: float, optional 1094s None or the seconds after which a timeout callback is 1094s invoked, if no progress was made in communicating with 1094s the sub-process, or if waiting for the subprocess exit 1094s took more than the specified time. See the protocol and 1094s `ThreadedRunner` descriptions for a more detailed discussion 1094s on timeouts. 1094s exception_on_error : bool, optional 1094s This argument is first interpreted if the protocol is a subclass 1094s of `GeneratorMixIn`. If it is `True` (default), a 1094s `CommandErrorException` is raised by the generator if the 1094s sub process exited with a return code not equal to zero. If the 1094s parameter is `False`, no exception is raised. In both cases the 1094s return code can be read from the attribute `return_code` of 1094s the generator. Then this argument interpreted within this function 1094s to not raise `CommandError` if value is False in case of non-0 exit. 1094s kwargs : 1094s Passed to the Protocol class constructor. 1094s 1094s Returns 1094s ------- 1094s dict | _ResultGenerator 1094s 1094s If the protocol is not a subclass of `GeneratorMixIn`, the 1094s result of protocol._prepare_result will be returned. 1094s 1094s If the protocol is a subclass of `GeneratorMixIn`, a Generator, i.e. 1094s a `_ResultGenerator`, will be returned. This allows to use this 1094s method in constructs like: 1094s 1094s for protocol_output in runner.run(): 1094s ... 1094s 1094s Where the iterator yields whatever protocol.pipe_data_received 1094s sends into the generator. 1094s If all output was yielded and the process has terminated, the 1094s generator will raise StopIteration(return_code), where 1094s return_code is the return code of the process. The return code 1094s of the process will also be stored in the "return_code"-attribute 1094s of the runner. So you could write: 1094s 1094s gen = runner.run() 1094s for file_descriptor, data in gen: 1094s ... 1094s 1094s # get the return code of the process 1094s result = gen.return_code 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s On execution failure (non-zero exit code) this exception is 1094s raised which provides the command (cmd), stdout, stderr, 1094s exit code (status), and a message identifying the failed 1094s command, as properties. 1094s FileNotFoundError 1094s When a given executable does not exist. 1094s """ 1094s if protocol is None: 1094s # by default let all subprocess stream pass through 1094s protocol = NoCapture 1094s 1094s applied_cwd = cwd or self.cwd 1094s applied_env = self._get_adjusted_env( 1094s env=env or self.env, 1094s cwd=applied_cwd, 1094s ) 1094s 1094s lgr.debug( 1094s 'Run %r (protocol_class=%s) (cwd=%s)', 1094s cmd, 1094s protocol.__name__, 1094s applied_cwd 1094s ) 1094s 1094s threaded_runner = ThreadedRunner( 1094s cmd=cmd, 1094s protocol_class=protocol, 1094s stdin=stdin, 1094s protocol_kwargs=kwargs, 1094s timeout=timeout, 1094s exception_on_error=exception_on_error, 1094s cwd=applied_cwd, 1094s env=applied_env 1094s ) 1094s 1094s results_or_iterator = threaded_runner.run() 1094s if issubclass(protocol, GeneratorMixIn): 1094s return results_or_iterator 1094s 1094s results = cast(dict, results_or_iterator) 1094s # log before any exception is raised 1094s lgr.debug("Finished %r with status %s", cmd, results['code']) 1094s 1094s # make it such that we always blow if a protocol did not report 1094s # a return code at all or it was non-0 and we were not asked ignore 1094s # errors 1094s return_code = results.get('code', None) 1094s if return_code is None or (return_code and exception_on_error): 1094s # the runner has a better idea, doc string warns Protocol 1094s # implementations not to return these 1094s results.pop('cmd', None) 1094s results.pop('cwd', None) 1094s > raise CommandError( 1094s # whatever the results were, we carry them forward 1094s cmd=cmd, 1094s cwd=applied_cwd, 1094s **results, 1094s ) 1094s E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false annex copy --batch -z --to target --fast --json --json-error-messages --json-progress -c annex.dotfiles=true' failed with exitcode 1 under /tmp/datalad_temp_test_push_recursivem3kyw7c3/sub m/subsub m [info keys: stdout_json] 1094s E > to target... 1094s E failed to send content to remote 1094s E This could have failed because --fast is enabled. [err: 'copy: 1 failed'] 1094s 1094s /usr/lib/python3/dist-packages/datalad/runner/runner.py:242: CommandError 1094s ------------------------------ Captured log call ------------------------------- 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/datalad_temp_test_push_recursiver4_o0pr9 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/datalad_temp_test_push_recursiver4_o0pr9/sub m 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/datalad_temp_test_push_recursiver4_o0pr9 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/datalad_temp_test_push_recursiver4_o0pr9 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.clone:log.py:432 Attempting a clone into /tmp/datalad_temp_test_push_recursivem3kyw7c3 1094s INFO datalad.core.distributed.clone:log.py:432 Attempting to clone from /tmp/datalad_temp_test_push_recursiver4_o0pr9 to /tmp/datalad_temp_test_push_recursivem3kyw7c3 1094s INFO datalad.core.distributed.clone:log.py:432 Completed clone attempts for Dataset(/tmp/datalad_temp_test_push_recursivem3kyw7c3) 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.distribution.get:get.py:626 Ensuring presence of Dataset(/tmp/datalad_temp_test_push_recursivem3kyw7c3) to get /tmp/datalad_temp_test_push_recursivem3kyw7c3 1094s INFO datalad.distribution.get:log.py:432 Installing: starting 1094s INFO datalad.core.distributed.clone:log.py:432 Attempting a clone into /tmp/datalad_temp_test_push_recursivem3kyw7c3/sub m 1094s INFO datalad.core.distributed.clone:log.py:432 Attempting to clone from /tmp/datalad_temp_test_push_recursiver4_o0pr9/sub m to /tmp/datalad_temp_test_push_recursivem3kyw7c3/sub m 1094s INFO datalad.core.distributed.clone:log.py:432 Completed clone attempts for Dataset('/tmp/datalad_temp_test_push_recursivem3kyw7c3/sub m') 1094s INFO datalad.distribution.get:log.py:432 1094s INFO datalad.distribution.get:log.py:432 Installing: processed result for /tmp/datalad_temp_test_push_recursivem3kyw7c3/sub m 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.clone:log.py:432 Attempting a clone into /tmp/datalad_temp_test_push_recursivem3kyw7c3/subm noannex 1094s INFO datalad.core.distributed.clone:log.py:432 Attempting to clone from /tmp/datalad_temp_test_push_recursiver4_o0pr9/subm noannex to /tmp/datalad_temp_test_push_recursivem3kyw7c3/subm noannex 1094s INFO datalad.core.distributed.clone:log.py:432 Completed clone attempts for Dataset('/tmp/datalad_temp_test_push_recursivem3kyw7c3/subm noannex') 1094s INFO datalad.core.distributed.clone:log.py:432 Attempting a clone into /tmp/datalad_temp_test_push_recursivem3kyw7c3/sub m/subsub m 1094s INFO datalad.core.distributed.clone:log.py:432 Attempting to clone from /tmp/datalad_temp_test_push_recursiver4_o0pr9/sub m/subsub m to /tmp/datalad_temp_test_push_recursivem3kyw7c3/sub m/subsub m 1094s INFO datalad.distribution.get:log.py:432 Installing: processed result for /tmp/datalad_temp_test_push_recursivem3kyw7c3/subm noannex 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.clone:log.py:432 Completed clone attempts for Dataset('/tmp/datalad_temp_test_push_recursivem3kyw7c3/sub m/subsub m') 1094s INFO datalad.distribution.get:log.py:432 Installing: processed result for /tmp/datalad_temp_test_push_recursivem3kyw7c3/sub m/subsub m 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.distribution.get:log.py:432 Installing: done 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.push:log.py:432 Finished push of Dataset('/tmp/datalad_temp_test_push_recursivem3kyw7c3/sub m/subsub m') 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.push:log.py:432 Finished push of Dataset('/tmp/datalad_temp_test_push_recursivem3kyw7c3/sub m') 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.push:log.py:432 Finished push of Dataset('/tmp/datalad_temp_test_push_recursivem3kyw7c3/subm noannex') 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad.core.distributed.push:log.py:432 Push refspecs 1094s INFO datalad.core.distributed.push:log.py:432 Transfer data 1094s INFO datalad.core.distributed.push:log.py:432 Update availability information 1094s INFO datalad.gitrepo:log.py:432 Start enumerating objects 1094s INFO datalad.gitrepo:log.py:432 Finished enumerating objects 1094s INFO datalad.gitrepo:log.py:432 Start counting objects 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 3% (1/29) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 6% (2/29) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 10% (3/29) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 13% (4/29) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 17% (5/29) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 20% (6/29) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 24% (7/29) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 27% (8/29) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 31% (9/29) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 34% (10/29) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 37% (11/29) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 41% (12/29) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 44% (13/29) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 48% (14/29) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 51% (15/29) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 55% (16/29) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 58% (17/29) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 62% (18/29) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 65% (19/29) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 68% (20/29) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 72% (21/29) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 75% (22/29) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 79% (23/29) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 82% (24/29) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 86% (25/29) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 89% (26/29) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 93% (27/29) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 96% (28/29) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 100% (29/29) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 100% (29/29), done. 1094s INFO datalad.gitrepo:log.py:432 Finished counting objects 1094s INFO datalad.gitrepo:log.py:432 Start compressing objects 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 4% (1/22) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 9% (2/22) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 13% (3/22) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 18% (4/22) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 22% (5/22) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 27% (6/22) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 31% (7/22) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 36% (8/22) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 40% (9/22) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 45% (10/22) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 50% (11/22) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 54% (12/22) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 59% (13/22) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 63% (14/22) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 68% (15/22) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 72% (16/22) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 77% (17/22) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 81% (18/22) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 86% (19/22) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 90% (20/22) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 95% (21/22) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 100% (22/22) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 100% (22/22), done. 1094s INFO datalad.gitrepo:log.py:432 Finished compressing objects 1094s INFO datalad.gitrepo:log.py:432 Start writing objects 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 3% (1/27) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 7% (2/27) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 11% (3/27) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 14% (4/27) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 18% (5/27) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 22% (6/27) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 25% (7/27) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 29% (8/27) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 33% (9/27) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 37% (10/27) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 40% (11/27) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 44% (12/27) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 48% (13/27) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 51% (14/27) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 55% (15/27) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 59% (16/27) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 62% (17/27) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 66% (18/27) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 70% (19/27) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 74% (20/27) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 77% (21/27) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 81% (22/27) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 85% (23/27) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 88% (24/27) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 92% (25/27) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 96% (26/27) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 100% (27/27) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 100% (27/27), 2.68 KiB | 1.34 MiB/s, done. 1094s INFO datalad.gitrepo:log.py:432 Finished writing objects 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.push:log.py:432 Finished push of Dataset(/tmp/datalad_temp_test_push_recursivem3kyw7c3) 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad.core.distributed.push:log.py:432 Push refspecs 1094s INFO datalad.core.distributed.push:log.py:432 Transfer data 1094s INFO datalad.core.distributed.push:log.py:432 Update availability information 1094s INFO datalad.gitrepo:log.py:432 Start enumerating objects 1094s INFO datalad.gitrepo:log.py:432 Finished enumerating objects 1094s INFO datalad.gitrepo:log.py:432 Start counting objects 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 4% (1/21) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 9% (2/21) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 14% (3/21) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 19% (4/21) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 23% (5/21) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 28% (6/21) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 33% (7/21) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 38% (8/21) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 42% (9/21) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 47% (10/21) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 52% (11/21) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 57% (12/21) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 61% (13/21) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 66% (14/21) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 71% (15/21) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 76% (16/21) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 80% (17/21) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 85% (18/21) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 90% (19/21) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 95% (20/21) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 100% (21/21) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 100% (21/21), done. 1094s INFO datalad.gitrepo:log.py:432 Finished counting objects 1094s INFO datalad.gitrepo:log.py:432 Start compressing objects 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 7% (1/14) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 14% (2/14) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 21% (3/14) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 28% (4/14) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 35% (5/14) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 42% (6/14) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 50% (7/14) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 57% (8/14) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 64% (9/14) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 71% (10/14) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 78% (11/14) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 85% (12/14) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 92% (13/14) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 100% (14/14) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 100% (14/14), done. 1094s INFO datalad.gitrepo:log.py:432 Finished compressing objects 1094s INFO datalad.gitrepo:log.py:432 Start writing objects 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 5% (1/19) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 10% (2/19) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 15% (3/19) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 21% (4/19) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 26% (5/19) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 31% (6/19) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 36% (7/19) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 42% (8/19) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 47% (9/19) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 52% (10/19) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 57% (11/19) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 63% (12/19) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 68% (13/19) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 73% (14/19) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 78% (15/19) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 84% (16/19) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 89% (17/19) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 94% (18/19) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 100% (19/19) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 100% (19/19), 1.77 KiB | 1.77 MiB/s, done. 1094s INFO datalad.gitrepo:log.py:432 Finished writing objects 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.push:log.py:432 Finished push of Dataset('/tmp/datalad_temp_test_push_recursivem3kyw7c3/sub m/subsub m') 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad.core.distributed.push:log.py:432 Push refspecs 1094s INFO datalad.core.distributed.push:log.py:432 Transfer data 1094s INFO datalad.core.distributed.push:log.py:432 Update availability information 1094s INFO datalad.gitrepo:log.py:432 Start enumerating objects 1094s INFO datalad.gitrepo:log.py:432 Finished enumerating objects 1094s INFO datalad.gitrepo:log.py:432 Start counting objects 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 4% (1/24) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 8% (2/24) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 12% (3/24) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 16% (4/24) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 20% (5/24) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 25% (6/24) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 29% (7/24) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 33% (8/24) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 37% (9/24) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 41% (10/24) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 45% (11/24) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 50% (12/24) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 54% (13/24) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 58% (14/24) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 62% (15/24) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 66% (16/24) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 70% (17/24) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 75% (18/24) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 79% (19/24) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 83% (20/24) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 87% (21/24) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 91% (22/24) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 95% (23/24) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 100% (24/24) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 100% (24/24), done. 1094s INFO datalad.gitrepo:log.py:432 Finished counting objects 1094s INFO datalad.gitrepo:log.py:432 Start compressing objects 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 5% (1/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 11% (2/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 17% (3/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 23% (4/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 29% (5/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 35% (6/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 41% (7/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 47% (8/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 52% (9/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 58% (10/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 64% (11/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 70% (12/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 76% (13/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 82% (14/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 88% (15/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 94% (16/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 100% (17/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 100% (17/17), done. 1094s INFO datalad.gitrepo:log.py:432 Finished compressing objects 1094s INFO datalad.gitrepo:log.py:432 Start writing objects 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 4% (1/22) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 9% (2/22) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 13% (3/22) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 18% (4/22) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 22% (5/22) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 27% (6/22) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 31% (7/22) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 36% (8/22) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 40% (9/22) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 45% (10/22) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 50% (11/22) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 54% (12/22) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 59% (13/22) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 63% (14/22) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 68% (15/22) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 72% (16/22) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 77% (17/22) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 81% (18/22) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 86% (19/22) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 90% (20/22) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 95% (21/22) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 100% (22/22) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 100% (22/22), 2.11 KiB | 2.11 MiB/s, done. 1094s INFO datalad.gitrepo:log.py:432 Finished writing objects 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.push:log.py:432 Finished push of Dataset('/tmp/datalad_temp_test_push_recursivem3kyw7c3/sub m') 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad.core.distributed.push:log.py:432 Push refspecs 1094s INFO datalad.core.distributed.push:log.py:432 Update availability information 1094s INFO datalad.gitrepo:log.py:432 Start enumerating objects 1094s INFO datalad.gitrepo:log.py:432 Finished enumerating objects 1094s INFO datalad.gitrepo:log.py:432 Start counting objects 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 20% (1/5) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 40% (2/5) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 60% (3/5) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 80% (4/5) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 100% (5/5) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 100% (5/5), done. 1094s INFO datalad.gitrepo:log.py:432 Finished counting objects 1094s INFO datalad.gitrepo:log.py:432 Start compressing objects 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 33% (1/3) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 66% (2/3) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 100% (3/3) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 100% (3/3), done. 1094s INFO datalad.gitrepo:log.py:432 Finished compressing objects 1094s INFO datalad.gitrepo:log.py:432 Start writing objects 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 20% (1/5) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 40% (2/5) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 60% (3/5) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 80% (4/5) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 100% (5/5) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 100% (5/5), 388 bytes | 388.00 KiB/s, done. 1094s INFO datalad.gitrepo:log.py:432 Finished writing objects 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.push:log.py:432 Finished push of Dataset('/tmp/datalad_temp_test_push_recursivem3kyw7c3/subm noannex') 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad.core.distributed.push:log.py:432 Push refspecs 1094s INFO datalad.core.distributed.push:log.py:432 Transfer data 1094s INFO datalad.core.distributed.push:log.py:432 Update availability information 1094s INFO datalad.core.distributed.push:log.py:432 Finished push of Dataset(/tmp/datalad_temp_test_push_recursivem3kyw7c3) 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad.core.distributed.push:log.py:432 Push refspecs 1094s INFO datalad.core.distributed.push:log.py:432 Transfer data 1094s INFO datalad.core.distributed.push:log.py:432 Update availability information 1094s INFO datalad.core.distributed.push:log.py:432 Finished push of Dataset('/tmp/datalad_temp_test_push_recursivem3kyw7c3/sub m/subsub m') 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad.core.distributed.push:log.py:432 Push refspecs 1094s INFO datalad.core.distributed.push:log.py:432 Transfer data 1094s INFO datalad.core.distributed.push:log.py:432 Update availability information 1094s INFO datalad.core.distributed.push:log.py:432 Finished push of Dataset('/tmp/datalad_temp_test_push_recursivem3kyw7c3/sub m') 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad.core.distributed.push:log.py:432 Push refspecs 1094s INFO datalad.core.distributed.push:log.py:432 Update availability information 1094s INFO datalad.core.distributed.push:log.py:432 Finished push of Dataset('/tmp/datalad_temp_test_push_recursivem3kyw7c3/subm noannex') 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad.core.distributed.push:log.py:432 Push refspecs 1094s INFO datalad.core.distributed.push:log.py:432 Transfer data 1094s INFO datalad.core.distributed.push:log.py:432 Update availability information 1094s INFO datalad.core.distributed.push:log.py:432 Finished push of Dataset(/tmp/datalad_temp_test_push_recursivem3kyw7c3) 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/datalad_temp_test_push_recursivem3kyw7c3/subm noannex 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/datalad_temp_test_push_recursivem3kyw7c3/sub m/subsub m 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/datalad_temp_test_push_recursivem3kyw7c3/sub m 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/datalad_temp_test_push_recursivem3kyw7c3 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad.core.distributed.push:log.py:432 Push refspecs 1094s INFO datalad.core.distributed.push:log.py:432 Transfer data 1094s INFO datalad.annex:log.py:432 Start annex operation 1094s INFO datalad.annex:log.py:432 Finished annex copy 1094s _________________________ test_push_subds_no_recursion _________________________ 1094s 1094s src_path = '/tmp/datalad_temp_test_push_subds_no_recursionbyxcu0mu' 1094s dst_top = '/tmp/datalad_temp_test_push_subds_no_recursioninzfwt90' 1094s dst_sub = '/tmp/datalad_temp_test_push_subds_no_recursion26jcg73s' 1094s dst_subsub = '/tmp/datalad_temp_test_push_subds_no_recursionm9y9fsza' 1094s 1094s @slow # 12sec on Yarik's laptop 1094s @with_tempfile(mkdir=True) 1094s @with_tempfile(mkdir=True) 1094s @with_tempfile(mkdir=True) 1094s @with_tempfile(mkdir=True) 1094s def test_push_subds_no_recursion(src_path=None, dst_top=None, dst_sub=None, dst_subsub=None): 1094s # dataset with one submodule and one subsubmodule 1094s top = Dataset(src_path).create() 1094s sub = top.create('sub m') 1094s test_file = sub.pathobj / 'subdir' / 'test_file' 1094s test_file.parent.mkdir() 1094s test_file.write_text('some') 1094s subsub = sub.create(sub.pathobj / 'subdir' / 'subsub m') 1094s top.save(recursive=True) 1094s assert_repo_status(top.path) 1094s target_top = mk_push_target(top, 'target', dst_top, annex=True) 1094s target_sub = mk_push_target(sub, 'target', dst_sub, annex=True) 1094s target_subsub = mk_push_target(subsub, 'target', dst_subsub, annex=True) 1094s # now publish, but NO recursion, instead give the parent dir of 1094s # both a subdataset and a file in the middle subdataset 1094s > res = top.push( 1094s to='target', 1094s # give relative to top dataset to elevate the difficulty a little 1094s path=str(test_file.relative_to(top.pathobj).parent)) 1094s 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/tests/test_push.py:445: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s /usr/lib/python3/dist-packages/datalad/distribution/dataset.py:507: in apply_func 1094s return f(*args, **kwargs) 1094s /usr/lib/python3/dist-packages/datalad/interface/base.py:773: in eval_func 1094s return return_func(*args, **kwargs) 1094s /usr/lib/python3/dist-packages/datalad/interface/base.py:763: in return_func 1094s results = list(results) 1094s ../build.vXv/src/datalad_next/patches/interface_utils.py:218: in _execute_command_ 1094s for r in _process_results( 1094s /usr/lib/python3/dist-packages/datalad/interface/utils.py:319: in _process_results 1094s for res in results: 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/push.py:259: in __call__ 1094s yield from _push( 1094s ../build.vXv/src/datalad_next/patches/push_optimize.py:184: in _push 1094s yield from mod_push._transfer_data( 1094s ../build.vXv/src/datalad_next/patches/push_to_export_remote.py:170: in _transfer_data 1094s yield from mod_push._push_data( 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/push.py:898: in _push_data 1094s res = ds_repo._call_annex_records( 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1134: in _call_annex_records 1094s raise e 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1094: in _call_annex_records 1094s out = self._call_annex( 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:997: in _call_annex 1094s return runner.run( 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s protocol = 1094s stdin = b'subdir/test_file\x00', cwd = None, env = None, timeout = None 1094s exception_on_error = True, kwargs = {'total_nbytes': 4} 1094s applied_cwd = PosixPath('/tmp/datalad_temp_test_push_subds_no_recursionbyxcu0mu/sub m') 1094s applied_env = {'ADTTMP': '/tmp/autopkgtest.WXFAly/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-ar...: 'python-psutil/5.9.8-2build3', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-artifacts', ...} 1094s threaded_runner = 1094s results_or_iterator = {'code': 1, 'stderr': 'copy: 1 failed\n', 'stdout': '', 'stdout_json': [{'command': 'copy', 'error-messages': ['failed...'This could have failed because --fast is enabled.'], 'file': 'subdir/test_file', 'input': ['subdir/test_file'], ...}]} 1094s results = {'code': 1, 'stderr': 'copy: 1 failed\n', 'stdout': '', 'stdout_json': [{'command': 'copy', 'error-messages': ['failed...'This could have failed because --fast is enabled.'], 'file': 'subdir/test_file', 'input': ['subdir/test_file'], ...}]} 1094s return_code = 1 1094s 1094s def run(self, 1094s cmd: list | str, 1094s protocol: type[WitlessProtocol] | None = None, 1094s stdin: bytes | IO | Queue | None = None, 1094s cwd: PathLike | str | None = None, 1094s env: dict | None = None, 1094s timeout: float | None = None, 1094s exception_on_error: bool = True, 1094s **kwargs) -> dict | _ResultGenerator: 1094s """Execute a command and communicate with it. 1094s 1094s Parameters 1094s ---------- 1094s cmd : list or str 1094s Sequence of program arguments. Passing a single string causes 1094s execution via the platform shell. 1094s protocol : WitlessProtocol, optional 1094s Protocol class handling interaction with the running process 1094s (e.g. output capture). A number of pre-crafted classes are 1094s provided (e.g `KillOutput`, `NoCapture`, `GitProgress`). 1094s If the protocol has the GeneratorMixIn-mixin, the run-method 1094s will return an iterator and can therefore be used in a for-clause. 1094s stdin : file-like, bytes, Queue, or None 1094s If stdin is a file-like, it will be directly used as stdin for the 1094s subprocess. The caller is responsible for writing to it and closing it. 1094s If stdin is a bytes, it will be fed to stdin of the subprocess. 1094s If all data is written, stdin will be closed. 1094s If stdin is a Queue, all elements (bytes) put into the Queue will 1094s be passed to stdin until None is read from the queue. If None is read, 1094s stdin of the subprocess is closed. 1094s cwd : str or path-like, optional 1094s If given, commands are executed with this path as PWD, 1094s the PWD of the parent process is used otherwise. Overrides 1094s any `cwd` given to the constructor. 1094s env : dict, optional 1094s Environment to be used for command execution. If given, it will 1094s completely replace any environment provided to theconstructor. If 1094s `cwd` is given, 'PWD' in the environment is set to its value. 1094s This must be a complete environment definition, no values 1094s from the current environment will be inherited. Overrides 1094s any `env` given to the constructor. 1094s timeout: float, optional 1094s None or the seconds after which a timeout callback is 1094s invoked, if no progress was made in communicating with 1094s the sub-process, or if waiting for the subprocess exit 1094s took more than the specified time. See the protocol and 1094s `ThreadedRunner` descriptions for a more detailed discussion 1094s on timeouts. 1094s exception_on_error : bool, optional 1094s This argument is first interpreted if the protocol is a subclass 1094s of `GeneratorMixIn`. If it is `True` (default), a 1094s `CommandErrorException` is raised by the generator if the 1094s sub process exited with a return code not equal to zero. If the 1094s parameter is `False`, no exception is raised. In both cases the 1094s return code can be read from the attribute `return_code` of 1094s the generator. Then this argument interpreted within this function 1094s to not raise `CommandError` if value is False in case of non-0 exit. 1094s kwargs : 1094s Passed to the Protocol class constructor. 1094s 1094s Returns 1094s ------- 1094s dict | _ResultGenerator 1094s 1094s If the protocol is not a subclass of `GeneratorMixIn`, the 1094s result of protocol._prepare_result will be returned. 1094s 1094s If the protocol is a subclass of `GeneratorMixIn`, a Generator, i.e. 1094s a `_ResultGenerator`, will be returned. This allows to use this 1094s method in constructs like: 1094s 1094s for protocol_output in runner.run(): 1094s ... 1094s 1094s Where the iterator yields whatever protocol.pipe_data_received 1094s sends into the generator. 1094s If all output was yielded and the process has terminated, the 1094s generator will raise StopIteration(return_code), where 1094s return_code is the return code of the process. The return code 1094s of the process will also be stored in the "return_code"-attribute 1094s of the runner. So you could write: 1094s 1094s gen = runner.run() 1094s for file_descriptor, data in gen: 1094s ... 1094s 1094s # get the return code of the process 1094s result = gen.return_code 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s On execution failure (non-zero exit code) this exception is 1094s raised which provides the command (cmd), stdout, stderr, 1094s exit code (status), and a message identifying the failed 1094s command, as properties. 1094s FileNotFoundError 1094s When a given executable does not exist. 1094s """ 1094s if protocol is None: 1094s # by default let all subprocess stream pass through 1094s protocol = NoCapture 1094s 1094s applied_cwd = cwd or self.cwd 1094s applied_env = self._get_adjusted_env( 1094s env=env or self.env, 1094s cwd=applied_cwd, 1094s ) 1094s 1094s lgr.debug( 1094s 'Run %r (protocol_class=%s) (cwd=%s)', 1094s cmd, 1094s protocol.__name__, 1094s applied_cwd 1094s ) 1094s 1094s threaded_runner = ThreadedRunner( 1094s cmd=cmd, 1094s protocol_class=protocol, 1094s stdin=stdin, 1094s protocol_kwargs=kwargs, 1094s timeout=timeout, 1094s exception_on_error=exception_on_error, 1094s cwd=applied_cwd, 1094s env=applied_env 1094s ) 1094s 1094s results_or_iterator = threaded_runner.run() 1094s if issubclass(protocol, GeneratorMixIn): 1094s return results_or_iterator 1094s 1094s results = cast(dict, results_or_iterator) 1094s # log before any exception is raised 1094s lgr.debug("Finished %r with status %s", cmd, results['code']) 1094s 1094s # make it such that we always blow if a protocol did not report 1094s # a return code at all or it was non-0 and we were not asked ignore 1094s # errors 1094s return_code = results.get('code', None) 1094s if return_code is None or (return_code and exception_on_error): 1094s # the runner has a better idea, doc string warns Protocol 1094s # implementations not to return these 1094s results.pop('cmd', None) 1094s results.pop('cwd', None) 1094s > raise CommandError( 1094s # whatever the results were, we carry them forward 1094s cmd=cmd, 1094s cwd=applied_cwd, 1094s **results, 1094s ) 1094s E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false annex copy --batch -z --to target --fast --json --json-error-messages --json-progress -c annex.dotfiles=true' failed with exitcode 1 under /tmp/datalad_temp_test_push_subds_no_recursionbyxcu0mu/sub m [info keys: stdout_json] 1094s E > to target... 1094s E failed to send content to remote 1094s E This could have failed because --fast is enabled. [err: 'copy: 1 failed'] 1094s 1094s /usr/lib/python3/dist-packages/datalad/runner/runner.py:242: CommandError 1094s ------------------------------ Captured log call ------------------------------- 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/datalad_temp_test_push_subds_no_recursionbyxcu0mu 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/datalad_temp_test_push_subds_no_recursionbyxcu0mu/sub m 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/datalad_temp_test_push_subds_no_recursionbyxcu0mu/sub m/subdir/subsub m 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/datalad_temp_test_push_subds_no_recursionbyxcu0mu/sub m 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/datalad_temp_test_push_subds_no_recursionbyxcu0mu 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad.core.distributed.push:log.py:432 Push refspecs 1094s INFO datalad.core.distributed.push:log.py:432 Transfer data 1094s INFO datalad.annex:log.py:432 Start annex operation 1094s INFO datalad.annex:log.py:432 Finished annex copy 1094s _________________________ test_force_checkdatapresent __________________________ 1094s 1094s srcpath = '/tmp/datalad_temp_test_force_checkdatapresentp52pwzd_' 1094s dstpath = '/tmp/datalad_temp_test_force_checkdatapresent9rxt0mc9' 1094s 1094s @with_tempfile(mkdir=True) 1094s @with_tempfile(mkdir=True) 1094s def test_force_checkdatapresent(srcpath=None, dstpath=None): 1094s src = Dataset(srcpath).create() 1094s target = mk_push_target(src, 'target', dstpath, annex=True, bare=True) 1094s (src.pathobj / 'test_mod_annex_file').write_text("Heavy stuff.") 1094s src.save(to_git=False, message="New annex file") 1094s assert_repo_status(src.path, annex=True) 1094s whereis_prior = src.repo.whereis(files=['test_mod_annex_file'])[0] 1094s 1094s res = src.push(to='target', data='nothing') 1094s # nothing reported to be copied 1094s assert_not_in_results(res, action='copy') 1094s # we got the git-push nevertheless 1094s eq_(src.repo.get_hexsha(DEFAULT_BRANCH), target.get_hexsha(DEFAULT_BRANCH)) 1094s # nothing moved 1094s eq_(whereis_prior, src.repo.whereis(files=['test_mod_annex_file'])[0]) 1094s 1094s # now a push without forced no-transfer 1094s # we do not give since, so the non-transfered file is picked up 1094s # and transferred 1094s annex_branch_state = src.repo.get_hexsha('git-annex') 1094s > res = src.push(to='target', force=None) 1094s 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/tests/test_push.py:480: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s /usr/lib/python3/dist-packages/datalad/distribution/dataset.py:507: in apply_func 1094s return f(*args, **kwargs) 1094s /usr/lib/python3/dist-packages/datalad/interface/base.py:773: in eval_func 1094s return return_func(*args, **kwargs) 1094s /usr/lib/python3/dist-packages/datalad/interface/base.py:763: in return_func 1094s results = list(results) 1094s ../build.vXv/src/datalad_next/patches/interface_utils.py:218: in _execute_command_ 1094s for r in _process_results( 1094s /usr/lib/python3/dist-packages/datalad/interface/utils.py:319: in _process_results 1094s for res in results: 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/push.py:259: in __call__ 1094s yield from _push( 1094s ../build.vXv/src/datalad_next/patches/push_optimize.py:184: in _push 1094s yield from mod_push._transfer_data( 1094s ../build.vXv/src/datalad_next/patches/push_to_export_remote.py:170: in _transfer_data 1094s yield from mod_push._push_data( 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/push.py:898: in _push_data 1094s res = ds_repo._call_annex_records( 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1134: in _call_annex_records 1094s raise e 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1094: in _call_annex_records 1094s out = self._call_annex( 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:997: in _call_annex 1094s return runner.run( 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s protocol = 1094s stdin = b'test_mod_annex_file\x00', cwd = None, env = None, timeout = None 1094s exception_on_error = True, kwargs = {'total_nbytes': 12} 1094s applied_cwd = PosixPath('/tmp/datalad_temp_test_force_checkdatapresentp52pwzd_') 1094s applied_env = {'ADTTMP': '/tmp/autopkgtest.WXFAly/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-ar...: 'python-psutil/5.9.8-2build3', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-artifacts', ...} 1094s threaded_runner = 1094s results_or_iterator = {'code': 1, 'stderr': 'copy: 1 failed\n', 'stdout': '', 'stdout_json': [{'command': 'copy', 'error-messages': ['failed...could have failed because --fast is enabled.'], 'file': 'test_mod_annex_file', 'input': ['test_mod_annex_file'], ...}]} 1094s results = {'code': 1, 'stderr': 'copy: 1 failed\n', 'stdout': '', 'stdout_json': [{'command': 'copy', 'error-messages': ['failed...could have failed because --fast is enabled.'], 'file': 'test_mod_annex_file', 'input': ['test_mod_annex_file'], ...}]} 1094s return_code = 1 1094s 1094s def run(self, 1094s cmd: list | str, 1094s protocol: type[WitlessProtocol] | None = None, 1094s stdin: bytes | IO | Queue | None = None, 1094s cwd: PathLike | str | None = None, 1094s env: dict | None = None, 1094s timeout: float | None = None, 1094s exception_on_error: bool = True, 1094s **kwargs) -> dict | _ResultGenerator: 1094s """Execute a command and communicate with it. 1094s 1094s Parameters 1094s ---------- 1094s cmd : list or str 1094s Sequence of program arguments. Passing a single string causes 1094s execution via the platform shell. 1094s protocol : WitlessProtocol, optional 1094s Protocol class handling interaction with the running process 1094s (e.g. output capture). A number of pre-crafted classes are 1094s provided (e.g `KillOutput`, `NoCapture`, `GitProgress`). 1094s If the protocol has the GeneratorMixIn-mixin, the run-method 1094s will return an iterator and can therefore be used in a for-clause. 1094s stdin : file-like, bytes, Queue, or None 1094s If stdin is a file-like, it will be directly used as stdin for the 1094s subprocess. The caller is responsible for writing to it and closing it. 1094s If stdin is a bytes, it will be fed to stdin of the subprocess. 1094s If all data is written, stdin will be closed. 1094s If stdin is a Queue, all elements (bytes) put into the Queue will 1094s be passed to stdin until None is read from the queue. If None is read, 1094s stdin of the subprocess is closed. 1094s cwd : str or path-like, optional 1094s If given, commands are executed with this path as PWD, 1094s the PWD of the parent process is used otherwise. Overrides 1094s any `cwd` given to the constructor. 1094s env : dict, optional 1094s Environment to be used for command execution. If given, it will 1094s completely replace any environment provided to theconstructor. If 1094s `cwd` is given, 'PWD' in the environment is set to its value. 1094s This must be a complete environment definition, no values 1094s from the current environment will be inherited. Overrides 1094s any `env` given to the constructor. 1094s timeout: float, optional 1094s None or the seconds after which a timeout callback is 1094s invoked, if no progress was made in communicating with 1094s the sub-process, or if waiting for the subprocess exit 1094s took more than the specified time. See the protocol and 1094s `ThreadedRunner` descriptions for a more detailed discussion 1094s on timeouts. 1094s exception_on_error : bool, optional 1094s This argument is first interpreted if the protocol is a subclass 1094s of `GeneratorMixIn`. If it is `True` (default), a 1094s `CommandErrorException` is raised by the generator if the 1094s sub process exited with a return code not equal to zero. If the 1094s parameter is `False`, no exception is raised. In both cases the 1094s return code can be read from the attribute `return_code` of 1094s the generator. Then this argument interpreted within this function 1094s to not raise `CommandError` if value is False in case of non-0 exit. 1094s kwargs : 1094s Passed to the Protocol class constructor. 1094s 1094s Returns 1094s ------- 1094s dict | _ResultGenerator 1094s 1094s If the protocol is not a subclass of `GeneratorMixIn`, the 1094s result of protocol._prepare_result will be returned. 1094s 1094s If the protocol is a subclass of `GeneratorMixIn`, a Generator, i.e. 1094s a `_ResultGenerator`, will be returned. This allows to use this 1094s method in constructs like: 1094s 1094s for protocol_output in runner.run(): 1094s ... 1094s 1094s Where the iterator yields whatever protocol.pipe_data_received 1094s sends into the generator. 1094s If all output was yielded and the process has terminated, the 1094s generator will raise StopIteration(return_code), where 1094s return_code is the return code of the process. The return code 1094s of the process will also be stored in the "return_code"-attribute 1094s of the runner. So you could write: 1094s 1094s gen = runner.run() 1094s for file_descriptor, data in gen: 1094s ... 1094s 1094s # get the return code of the process 1094s result = gen.return_code 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s On execution failure (non-zero exit code) this exception is 1094s raised which provides the command (cmd), stdout, stderr, 1094s exit code (status), and a message identifying the failed 1094s command, as properties. 1094s FileNotFoundError 1094s When a given executable does not exist. 1094s """ 1094s if protocol is None: 1094s # by default let all subprocess stream pass through 1094s protocol = NoCapture 1094s 1094s applied_cwd = cwd or self.cwd 1094s applied_env = self._get_adjusted_env( 1094s env=env or self.env, 1094s cwd=applied_cwd, 1094s ) 1094s 1094s lgr.debug( 1094s 'Run %r (protocol_class=%s) (cwd=%s)', 1094s cmd, 1094s protocol.__name__, 1094s applied_cwd 1094s ) 1094s 1094s threaded_runner = ThreadedRunner( 1094s cmd=cmd, 1094s protocol_class=protocol, 1094s stdin=stdin, 1094s protocol_kwargs=kwargs, 1094s timeout=timeout, 1094s exception_on_error=exception_on_error, 1094s cwd=applied_cwd, 1094s env=applied_env 1094s ) 1094s 1094s results_or_iterator = threaded_runner.run() 1094s if issubclass(protocol, GeneratorMixIn): 1094s return results_or_iterator 1094s 1094s results = cast(dict, results_or_iterator) 1094s # log before any exception is raised 1094s lgr.debug("Finished %r with status %s", cmd, results['code']) 1094s 1094s # make it such that we always blow if a protocol did not report 1094s # a return code at all or it was non-0 and we were not asked ignore 1094s # errors 1094s return_code = results.get('code', None) 1094s if return_code is None or (return_code and exception_on_error): 1094s # the runner has a better idea, doc string warns Protocol 1094s # implementations not to return these 1094s results.pop('cmd', None) 1094s results.pop('cwd', None) 1094s > raise CommandError( 1094s # whatever the results were, we carry them forward 1094s cmd=cmd, 1094s cwd=applied_cwd, 1094s **results, 1094s ) 1094s E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false annex copy --batch -z --to target --fast --json --json-error-messages --json-progress -c annex.dotfiles=true' failed with exitcode 1 under /tmp/datalad_temp_test_force_checkdatapresentp52pwzd_ [info keys: stdout_json] 1094s E > to target... 1094s E failed to send content to remote 1094s E This could have failed because --fast is enabled. [err: 'copy: 1 failed'] 1094s 1094s /usr/lib/python3/dist-packages/datalad/runner/runner.py:242: CommandError 1094s ------------------------------ Captured log call ------------------------------- 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/datalad_temp_test_force_checkdatapresentp52pwzd_ 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad.core.distributed.push:log.py:432 Push refspecs 1094s INFO datalad.core.distributed.push:log.py:432 Update availability information 1094s INFO datalad.gitrepo:log.py:432 Start enumerating objects 1094s INFO datalad.gitrepo:log.py:432 Finished enumerating objects 1094s INFO datalad.gitrepo:log.py:432 Start counting objects 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 4% (1/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 8% (2/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 13% (3/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 17% (4/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 21% (5/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 26% (6/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 30% (7/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 34% (8/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 39% (9/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 43% (10/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 47% (11/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 52% (12/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 56% (13/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 60% (14/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 65% (15/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 69% (16/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 73% (17/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 78% (18/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 82% (19/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 86% (20/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 91% (21/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 95% (22/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 100% (23/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 100% (23/23), done. 1094s INFO datalad.gitrepo:log.py:432 Finished counting objects 1094s INFO datalad.gitrepo:log.py:432 Start compressing objects 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 5% (1/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 11% (2/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 17% (3/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 23% (4/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 29% (5/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 35% (6/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 41% (7/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 47% (8/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 52% (9/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 58% (10/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 64% (11/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 70% (12/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 76% (13/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 82% (14/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 88% (15/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 94% (16/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 100% (17/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 100% (17/17), done. 1094s INFO datalad.gitrepo:log.py:432 Finished compressing objects 1094s INFO datalad.gitrepo:log.py:432 Start writing objects 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 5% (1/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 10% (2/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 15% (3/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 20% (4/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 25% (5/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 30% (6/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 35% (7/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 40% (8/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 45% (9/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 50% (10/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 55% (11/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 60% (12/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 65% (13/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 70% (14/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 75% (15/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 80% (16/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 85% (17/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 90% (18/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 95% (19/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 100% (20/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 100% (20/20), 1.91 KiB | 1.91 MiB/s, done. 1094s INFO datalad.gitrepo:log.py:432 Finished writing objects 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.push:log.py:432 Finished push of Dataset(/tmp/datalad_temp_test_force_checkdatapresentp52pwzd_) 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad.core.distributed.push:log.py:432 Push refspecs 1094s INFO datalad.core.distributed.push:log.py:432 Transfer data 1094s INFO datalad.annex:log.py:432 Start annex operation 1094s INFO datalad.annex:log.py:432 Finished annex copy 1094s _________________________________ test_gh1763 __________________________________ 1094s 1094s src = Dataset('/tmp/datalad_temp_test_gh1763h54jxe_0') 1094s target1 = '/tmp/datalad_temp_test_gh1763bytcpxur' 1094s target2 = '/tmp/datalad_temp_test_gh1763h7vzhioj' 1094s target3 = '/tmp/datalad_temp_test_gh1763ezq5vw01' 1094s 1094s @with_tempfile(mkdir=True) 1094s @with_tempfile() 1094s @with_tempfile() 1094s @with_tempfile() 1094s def test_gh1763(src=None, target1=None, target2=None, target3=None): 1094s # this test is very similar to test_publish_depends, but more 1094s # comprehensible, and directly tests issue 1763 1094s src = Dataset(src).create(force=True, **ckwa) 1094s targets = [ 1094s mk_push_target(src, f'target{i}', t, bare=False) 1094s for i, t in enumerate([target1, target2, target3]) 1094s ] 1094s src.siblings('configure', name='target0', 1094s publish_depends=['target1', 'target2'], 1094s **ckwa) 1094s # a file to annex 1094s (src.pathobj / 'probe1').write_text('probe1') 1094s src.save('probe1', to_git=False, **ckwa) 1094s # make sure the probe is annexed, not straight in Git 1094s assert_in('probe1', src.repo.get_annexed_files(with_content_only=True)) 1094s # publish to target0, must handle dependency 1094s > src.push(to='target0', **ckwa) 1094s 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/tests/test_push.py:634: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s /usr/lib/python3/dist-packages/datalad/distribution/dataset.py:507: in apply_func 1094s return f(*args, **kwargs) 1094s /usr/lib/python3/dist-packages/datalad/interface/base.py:773: in eval_func 1094s return return_func(*args, **kwargs) 1094s /usr/lib/python3/dist-packages/datalad/interface/base.py:763: in return_func 1094s results = list(results) 1094s ../build.vXv/src/datalad_next/patches/interface_utils.py:218: in _execute_command_ 1094s for r in _process_results( 1094s /usr/lib/python3/dist-packages/datalad/interface/utils.py:319: in _process_results 1094s for res in results: 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/push.py:259: in __call__ 1094s yield from _push( 1094s ../build.vXv/src/datalad_next/patches/push_optimize.py:162: in _push 1094s yield from _push( 1094s ../build.vXv/src/datalad_next/patches/push_optimize.py:184: in _push 1094s yield from mod_push._transfer_data( 1094s ../build.vXv/src/datalad_next/patches/push_to_export_remote.py:170: in _transfer_data 1094s yield from mod_push._push_data( 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/push.py:898: in _push_data 1094s res = ds_repo._call_annex_records( 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1134: in _call_annex_records 1094s raise e 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1094: in _call_annex_records 1094s out = self._call_annex( 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:997: in _call_annex 1094s return runner.run( 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s protocol = 1094s stdin = b'probe1\x00', cwd = None, env = None, timeout = None 1094s exception_on_error = True, kwargs = {'total_nbytes': 6} 1094s applied_cwd = PosixPath('/tmp/datalad_temp_test_gh1763h54jxe_0') 1094s applied_env = {'ADTTMP': '/tmp/autopkgtest.WXFAly/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-ar...: 'python-psutil/5.9.8-2build3', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-artifacts', ...} 1094s threaded_runner = 1094s results_or_iterator = {'code': 1, 'stderr': 'copy: 1 failed\n', 'stdout': '', 'stdout_json': [{'command': 'copy', 'error-messages': ['failed...content to remote', 'This could have failed because --fast is enabled.'], 'file': 'probe1', 'input': ['probe1'], ...}]} 1094s results = {'code': 1, 'stderr': 'copy: 1 failed\n', 'stdout': '', 'stdout_json': [{'command': 'copy', 'error-messages': ['failed...content to remote', 'This could have failed because --fast is enabled.'], 'file': 'probe1', 'input': ['probe1'], ...}]} 1094s return_code = 1 1094s 1094s def run(self, 1094s cmd: list | str, 1094s protocol: type[WitlessProtocol] | None = None, 1094s stdin: bytes | IO | Queue | None = None, 1094s cwd: PathLike | str | None = None, 1094s env: dict | None = None, 1094s timeout: float | None = None, 1094s exception_on_error: bool = True, 1094s **kwargs) -> dict | _ResultGenerator: 1094s """Execute a command and communicate with it. 1094s 1094s Parameters 1094s ---------- 1094s cmd : list or str 1094s Sequence of program arguments. Passing a single string causes 1094s execution via the platform shell. 1094s protocol : WitlessProtocol, optional 1094s Protocol class handling interaction with the running process 1094s (e.g. output capture). A number of pre-crafted classes are 1094s provided (e.g `KillOutput`, `NoCapture`, `GitProgress`). 1094s If the protocol has the GeneratorMixIn-mixin, the run-method 1094s will return an iterator and can therefore be used in a for-clause. 1094s stdin : file-like, bytes, Queue, or None 1094s If stdin is a file-like, it will be directly used as stdin for the 1094s subprocess. The caller is responsible for writing to it and closing it. 1094s If stdin is a bytes, it will be fed to stdin of the subprocess. 1094s If all data is written, stdin will be closed. 1094s If stdin is a Queue, all elements (bytes) put into the Queue will 1094s be passed to stdin until None is read from the queue. If None is read, 1094s stdin of the subprocess is closed. 1094s cwd : str or path-like, optional 1094s If given, commands are executed with this path as PWD, 1094s the PWD of the parent process is used otherwise. Overrides 1094s any `cwd` given to the constructor. 1094s env : dict, optional 1094s Environment to be used for command execution. If given, it will 1094s completely replace any environment provided to theconstructor. If 1094s `cwd` is given, 'PWD' in the environment is set to its value. 1094s This must be a complete environment definition, no values 1094s from the current environment will be inherited. Overrides 1094s any `env` given to the constructor. 1094s timeout: float, optional 1094s None or the seconds after which a timeout callback is 1094s invoked, if no progress was made in communicating with 1094s the sub-process, or if waiting for the subprocess exit 1094s took more than the specified time. See the protocol and 1094s `ThreadedRunner` descriptions for a more detailed discussion 1094s on timeouts. 1094s exception_on_error : bool, optional 1094s This argument is first interpreted if the protocol is a subclass 1094s of `GeneratorMixIn`. If it is `True` (default), a 1094s `CommandErrorException` is raised by the generator if the 1094s sub process exited with a return code not equal to zero. If the 1094s parameter is `False`, no exception is raised. In both cases the 1094s return code can be read from the attribute `return_code` of 1094s the generator. Then this argument interpreted within this function 1094s to not raise `CommandError` if value is False in case of non-0 exit. 1094s kwargs : 1094s Passed to the Protocol class constructor. 1094s 1094s Returns 1094s ------- 1094s dict | _ResultGenerator 1094s 1094s If the protocol is not a subclass of `GeneratorMixIn`, the 1094s result of protocol._prepare_result will be returned. 1094s 1094s If the protocol is a subclass of `GeneratorMixIn`, a Generator, i.e. 1094s a `_ResultGenerator`, will be returned. This allows to use this 1094s method in constructs like: 1094s 1094s for protocol_output in runner.run(): 1094s ... 1094s 1094s Where the iterator yields whatever protocol.pipe_data_received 1094s sends into the generator. 1094s If all output was yielded and the process has terminated, the 1094s generator will raise StopIteration(return_code), where 1094s return_code is the return code of the process. The return code 1094s of the process will also be stored in the "return_code"-attribute 1094s of the runner. So you could write: 1094s 1094s gen = runner.run() 1094s for file_descriptor, data in gen: 1094s ... 1094s 1094s # get the return code of the process 1094s result = gen.return_code 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s On execution failure (non-zero exit code) this exception is 1094s raised which provides the command (cmd), stdout, stderr, 1094s exit code (status), and a message identifying the failed 1094s command, as properties. 1094s FileNotFoundError 1094s When a given executable does not exist. 1094s """ 1094s if protocol is None: 1094s # by default let all subprocess stream pass through 1094s protocol = NoCapture 1094s 1094s applied_cwd = cwd or self.cwd 1094s applied_env = self._get_adjusted_env( 1094s env=env or self.env, 1094s cwd=applied_cwd, 1094s ) 1094s 1094s lgr.debug( 1094s 'Run %r (protocol_class=%s) (cwd=%s)', 1094s cmd, 1094s protocol.__name__, 1094s applied_cwd 1094s ) 1094s 1094s threaded_runner = ThreadedRunner( 1094s cmd=cmd, 1094s protocol_class=protocol, 1094s stdin=stdin, 1094s protocol_kwargs=kwargs, 1094s timeout=timeout, 1094s exception_on_error=exception_on_error, 1094s cwd=applied_cwd, 1094s env=applied_env 1094s ) 1094s 1094s results_or_iterator = threaded_runner.run() 1094s if issubclass(protocol, GeneratorMixIn): 1094s return results_or_iterator 1094s 1094s results = cast(dict, results_or_iterator) 1094s # log before any exception is raised 1094s lgr.debug("Finished %r with status %s", cmd, results['code']) 1094s 1094s # make it such that we always blow if a protocol did not report 1094s # a return code at all or it was non-0 and we were not asked ignore 1094s # errors 1094s return_code = results.get('code', None) 1094s if return_code is None or (return_code and exception_on_error): 1094s # the runner has a better idea, doc string warns Protocol 1094s # implementations not to return these 1094s results.pop('cmd', None) 1094s results.pop('cwd', None) 1094s > raise CommandError( 1094s # whatever the results were, we carry them forward 1094s cmd=cmd, 1094s cwd=applied_cwd, 1094s **results, 1094s ) 1094s E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false annex copy --batch -z --to target1 --fast --json --json-error-messages --json-progress -c annex.dotfiles=true' failed with exitcode 1 under /tmp/datalad_temp_test_gh1763h54jxe_0 [info keys: stdout_json] 1094s E > to target1... 1094s E failed to send content to remote 1094s E This could have failed because --fast is enabled. [err: 'copy: 1 failed'] 1094s 1094s /usr/lib/python3/dist-packages/datalad/runner/runner.py:242: CommandError 1094s ------------------------------ Captured log call ------------------------------- 1094s INFO datalad.distribution.siblings:siblings.py:536 Configure additional publication dependency on "target1" 1094s INFO datalad.distribution.siblings:siblings.py:536 Configure additional publication dependency on "target2" 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/datalad_temp_test_gh1763h54jxe_0 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad.core.distributed.push:log.py:432 Push refspecs 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad.core.distributed.push:log.py:432 Push refspecs 1094s INFO datalad.core.distributed.push:log.py:432 Transfer data 1094s INFO datalad.annex:log.py:432 Start annex operation 1094s INFO datalad.annex:log.py:432 Finished annex copy 1094s _______________________________ test_push_wanted _______________________________ 1094s 1094s srcpath = '/tmp/datalad_temp_test_push_wantedmurgsa0j' 1094s dstpath = '/tmp/datalad_temp_test_push_wantedc5ynj6vj' 1094s 1094s @skip_if_adjusted_branch 1094s @with_tempfile() 1094s @with_tempfile() 1094s def test_push_wanted(srcpath=None, dstpath=None): 1094s src = Dataset(srcpath).create() 1094s (src.pathobj / 'data.0').write_text('0') 1094s (src.pathobj / 'secure.1').write_text('1') 1094s (src.pathobj / 'secure.2').write_text('2') 1094s src.save() 1094s 1094s # Dropping a file to mimic a case of simply not having it locally (thus not 1094s # to be "pushed") 1094s src.drop('secure.2', reckless='kill') 1094s 1094s # Annotate sensitive content, actual value "verysecure" does not matter in 1094s # this example 1094s src.repo.set_metadata( 1094s add={'distribution-restrictions': 'verysecure'}, 1094s files=['secure.1', 'secure.2']) 1094s 1094s src.create_sibling( 1094s dstpath, 1094s annex_wanted="not metadata=distribution-restrictions=*", 1094s name='target', 1094s ) 1094s # check that wanted is obeyed, since set in sibling configuration 1094s > res = src.push(to='target') 1094s 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/tests/test_push.py:697: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s /usr/lib/python3/dist-packages/datalad/distribution/dataset.py:507: in apply_func 1094s return f(*args, **kwargs) 1094s /usr/lib/python3/dist-packages/datalad/interface/base.py:773: in eval_func 1094s return return_func(*args, **kwargs) 1094s /usr/lib/python3/dist-packages/datalad/interface/base.py:763: in return_func 1094s results = list(results) 1094s ../build.vXv/src/datalad_next/patches/interface_utils.py:218: in _execute_command_ 1094s for r in _process_results( 1094s /usr/lib/python3/dist-packages/datalad/interface/utils.py:319: in _process_results 1094s for res in results: 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/push.py:259: in __call__ 1094s yield from _push( 1094s ../build.vXv/src/datalad_next/patches/push_optimize.py:184: in _push 1094s yield from mod_push._transfer_data( 1094s ../build.vXv/src/datalad_next/patches/push_to_export_remote.py:170: in _transfer_data 1094s yield from mod_push._push_data( 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/push.py:898: in _push_data 1094s res = ds_repo._call_annex_records( 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1134: in _call_annex_records 1094s raise e 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1094: in _call_annex_records 1094s out = self._call_annex( 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:997: in _call_annex 1094s return runner.run( 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s protocol = 1094s stdin = b'data.0\x00secure.1\x00secure.2\x00', cwd = None, env = None 1094s timeout = None, exception_on_error = True, kwargs = {'total_nbytes': 3} 1094s applied_cwd = PosixPath('/tmp/datalad_temp_test_push_wantedmurgsa0j') 1094s applied_env = {'ADTTMP': '/tmp/autopkgtest.WXFAly/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-ar...: 'python-psutil/5.9.8-2build3', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-artifacts', ...} 1094s threaded_runner = 1094s results_or_iterator = {'code': 1, 'stderr': 'copy: 1 failed\n', 'stdout': '', 'stdout_json': [{'command': 'copy', 'error-messages': ['failed...content to remote', 'This could have failed because --fast is enabled.'], 'file': 'data.0', 'input': ['data.0'], ...}]} 1094s results = {'code': 1, 'stderr': 'copy: 1 failed\n', 'stdout': '', 'stdout_json': [{'command': 'copy', 'error-messages': ['failed...content to remote', 'This could have failed because --fast is enabled.'], 'file': 'data.0', 'input': ['data.0'], ...}]} 1094s return_code = 1 1094s 1094s def run(self, 1094s cmd: list | str, 1094s protocol: type[WitlessProtocol] | None = None, 1094s stdin: bytes | IO | Queue | None = None, 1094s cwd: PathLike | str | None = None, 1094s env: dict | None = None, 1094s timeout: float | None = None, 1094s exception_on_error: bool = True, 1094s **kwargs) -> dict | _ResultGenerator: 1094s """Execute a command and communicate with it. 1094s 1094s Parameters 1094s ---------- 1094s cmd : list or str 1094s Sequence of program arguments. Passing a single string causes 1094s execution via the platform shell. 1094s protocol : WitlessProtocol, optional 1094s Protocol class handling interaction with the running process 1094s (e.g. output capture). A number of pre-crafted classes are 1094s provided (e.g `KillOutput`, `NoCapture`, `GitProgress`). 1094s If the protocol has the GeneratorMixIn-mixin, the run-method 1094s will return an iterator and can therefore be used in a for-clause. 1094s stdin : file-like, bytes, Queue, or None 1094s If stdin is a file-like, it will be directly used as stdin for the 1094s subprocess. The caller is responsible for writing to it and closing it. 1094s If stdin is a bytes, it will be fed to stdin of the subprocess. 1094s If all data is written, stdin will be closed. 1094s If stdin is a Queue, all elements (bytes) put into the Queue will 1094s be passed to stdin until None is read from the queue. If None is read, 1094s stdin of the subprocess is closed. 1094s cwd : str or path-like, optional 1094s If given, commands are executed with this path as PWD, 1094s the PWD of the parent process is used otherwise. Overrides 1094s any `cwd` given to the constructor. 1094s env : dict, optional 1094s Environment to be used for command execution. If given, it will 1094s completely replace any environment provided to theconstructor. If 1094s `cwd` is given, 'PWD' in the environment is set to its value. 1094s This must be a complete environment definition, no values 1094s from the current environment will be inherited. Overrides 1094s any `env` given to the constructor. 1094s timeout: float, optional 1094s None or the seconds after which a timeout callback is 1094s invoked, if no progress was made in communicating with 1094s the sub-process, or if waiting for the subprocess exit 1094s took more than the specified time. See the protocol and 1094s `ThreadedRunner` descriptions for a more detailed discussion 1094s on timeouts. 1094s exception_on_error : bool, optional 1094s This argument is first interpreted if the protocol is a subclass 1094s of `GeneratorMixIn`. If it is `True` (default), a 1094s `CommandErrorException` is raised by the generator if the 1094s sub process exited with a return code not equal to zero. If the 1094s parameter is `False`, no exception is raised. In both cases the 1094s return code can be read from the attribute `return_code` of 1094s the generator. Then this argument interpreted within this function 1094s to not raise `CommandError` if value is False in case of non-0 exit. 1094s kwargs : 1094s Passed to the Protocol class constructor. 1094s 1094s Returns 1094s ------- 1094s dict | _ResultGenerator 1094s 1094s If the protocol is not a subclass of `GeneratorMixIn`, the 1094s result of protocol._prepare_result will be returned. 1094s 1094s If the protocol is a subclass of `GeneratorMixIn`, a Generator, i.e. 1094s a `_ResultGenerator`, will be returned. This allows to use this 1094s method in constructs like: 1094s 1094s for protocol_output in runner.run(): 1094s ... 1094s 1094s Where the iterator yields whatever protocol.pipe_data_received 1094s sends into the generator. 1094s If all output was yielded and the process has terminated, the 1094s generator will raise StopIteration(return_code), where 1094s return_code is the return code of the process. The return code 1094s of the process will also be stored in the "return_code"-attribute 1094s of the runner. So you could write: 1094s 1094s gen = runner.run() 1094s for file_descriptor, data in gen: 1094s ... 1094s 1094s # get the return code of the process 1094s result = gen.return_code 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s On execution failure (non-zero exit code) this exception is 1094s raised which provides the command (cmd), stdout, stderr, 1094s exit code (status), and a message identifying the failed 1094s command, as properties. 1094s FileNotFoundError 1094s When a given executable does not exist. 1094s """ 1094s if protocol is None: 1094s # by default let all subprocess stream pass through 1094s protocol = NoCapture 1094s 1094s applied_cwd = cwd or self.cwd 1094s applied_env = self._get_adjusted_env( 1094s env=env or self.env, 1094s cwd=applied_cwd, 1094s ) 1094s 1094s lgr.debug( 1094s 'Run %r (protocol_class=%s) (cwd=%s)', 1094s cmd, 1094s protocol.__name__, 1094s applied_cwd 1094s ) 1094s 1094s threaded_runner = ThreadedRunner( 1094s cmd=cmd, 1094s protocol_class=protocol, 1094s stdin=stdin, 1094s protocol_kwargs=kwargs, 1094s timeout=timeout, 1094s exception_on_error=exception_on_error, 1094s cwd=applied_cwd, 1094s env=applied_env 1094s ) 1094s 1094s results_or_iterator = threaded_runner.run() 1094s if issubclass(protocol, GeneratorMixIn): 1094s return results_or_iterator 1094s 1094s results = cast(dict, results_or_iterator) 1094s # log before any exception is raised 1094s lgr.debug("Finished %r with status %s", cmd, results['code']) 1094s 1094s # make it such that we always blow if a protocol did not report 1094s # a return code at all or it was non-0 and we were not asked ignore 1094s # errors 1094s return_code = results.get('code', None) 1094s if return_code is None or (return_code and exception_on_error): 1094s # the runner has a better idea, doc string warns Protocol 1094s # implementations not to return these 1094s results.pop('cmd', None) 1094s results.pop('cwd', None) 1094s > raise CommandError( 1094s # whatever the results were, we carry them forward 1094s cmd=cmd, 1094s cwd=applied_cwd, 1094s **results, 1094s ) 1094s E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false annex copy --batch -z --to target --auto --fast --json --json-error-messages --json-progress -c annex.dotfiles=true' failed with exitcode 1 under /tmp/datalad_temp_test_push_wantedmurgsa0j [info keys: stdout_json] 1094s E > to target... 1094s E failed to send content to remote 1094s E This could have failed because --fast is enabled. [err: 'copy: 1 failed'] 1094s 1094s /usr/lib/python3/dist-packages/datalad/runner/runner.py:242: CommandError 1094s ------------------------------ Captured log call ------------------------------- 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/datalad_temp_test_push_wantedmurgsa0j 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.distribution.create_sibling:create_sibling.py:190 Considering to create a target dataset /tmp/datalad_temp_test_push_wantedmurgsa0j at /tmp/datalad_temp_test_push_wantedc5ynj6vj of localhost 1094s INFO datalad.distribution.update:update.py:307 Fetching updates for Dataset(/tmp/datalad_temp_test_push_wantedmurgsa0j) 1094s INFO datalad.gitrepo:log.py:432 Start enumerating objects 1094s INFO datalad.gitrepo:log.py:432 Finished enumerating objects 1094s INFO datalad.gitrepo:log.py:432 Start counting objects 1094s INFO datalad.gitrepo:log.py:432 remote: Counting objects: 20% (1/5) 1094s INFO datalad.gitrepo:log.py:432 remote: Counting objects: 40% (2/5) 1094s INFO datalad.gitrepo:log.py:432 remote: Counting objects: 60% (3/5) 1094s INFO datalad.gitrepo:log.py:432 remote: Counting objects: 80% (4/5) 1094s INFO datalad.gitrepo:log.py:432 remote: Counting objects: 100% (5/5) 1094s INFO datalad.gitrepo:log.py:432 remote: Counting objects: 100% (5/5), done. 1094s INFO datalad.gitrepo:log.py:432 Finished counting objects 1094s INFO datalad.gitrepo:log.py:432 Start compressing objects 1094s INFO datalad.gitrepo:log.py:432 remote: Compressing objects: 33% (1/3) 1094s INFO datalad.gitrepo:log.py:432 remote: Compressing objects: 66% (2/3) 1094s INFO datalad.gitrepo:log.py:432 remote: Compressing objects: 100% (3/3) 1094s INFO datalad.gitrepo:log.py:432 remote: Compressing objects: 100% (3/3), done. 1094s INFO datalad.gitrepo:log.py:432 Finished compressing objects 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.distribution.create_sibling:create_sibling.py:349 Adjusting remote git configuration 1094s INFO datalad.distribution.create_sibling:create_sibling.py:856 Running post-update hooks in all created siblings 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad.core.distributed.push:log.py:432 Push refspecs 1094s INFO datalad.core.distributed.push:log.py:432 Transfer data 1094s INFO datalad.annex:log.py:432 Start annex operation 1094s INFO datalad.annex:log.py:432 data.0 1094s INFO datalad.annex:log.py:432 Finished 1094s ___________________________ test_auto_data_transfer ____________________________ 1094s 1094s path = PosixPath('/tmp/datalad_temp_test_auto_data_transferr5rx5bcv') 1094s 1094s @skip_if_adjusted_branch 1094s @slow # 10sec on Yarik's laptop 1094s @with_tempfile(mkdir=True) 1094s def test_auto_data_transfer(path=None): 1094s path = Path(path) 1094s ds_a = Dataset(path / "a").create() 1094s (ds_a.pathobj / "foo.dat").write_text("foo") 1094s ds_a.save() 1094s 1094s # Should be the default, but just in case. 1094s ds_a.repo.config.set("annex.numcopies", "1", scope="local") 1094s ds_a.create_sibling(str(path / "b"), name="b") 1094s 1094s # With numcopies=1, no data is copied with data="auto". 1094s res = ds_a.push(to="b", data="auto", since=None) 1094s assert_not_in_results(res, action="copy") 1094s 1094s # Even when a file is explicitly given. 1094s res = ds_a.push(to="b", path="foo.dat", data="auto", since=None) 1094s assert_not_in_results(res, action="copy") 1094s 1094s # numcopies=2 changes that. 1094s ds_a.repo.config.set("annex.numcopies", "2", scope="local") 1094s > res = ds_a.push(to="b", data="auto", since=None) 1094s 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/tests/test_push.py:746: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s /usr/lib/python3/dist-packages/datalad/distribution/dataset.py:507: in apply_func 1094s return f(*args, **kwargs) 1094s /usr/lib/python3/dist-packages/datalad/interface/base.py:773: in eval_func 1094s return return_func(*args, **kwargs) 1094s /usr/lib/python3/dist-packages/datalad/interface/base.py:763: in return_func 1094s results = list(results) 1094s ../build.vXv/src/datalad_next/patches/interface_utils.py:218: in _execute_command_ 1094s for r in _process_results( 1094s /usr/lib/python3/dist-packages/datalad/interface/utils.py:319: in _process_results 1094s for res in results: 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/push.py:259: in __call__ 1094s yield from _push( 1094s ../build.vXv/src/datalad_next/patches/push_optimize.py:184: in _push 1094s yield from mod_push._transfer_data( 1094s ../build.vXv/src/datalad_next/patches/push_to_export_remote.py:170: in _transfer_data 1094s yield from mod_push._push_data( 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/push.py:898: in _push_data 1094s res = ds_repo._call_annex_records( 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1134: in _call_annex_records 1094s raise e 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1094: in _call_annex_records 1094s out = self._call_annex( 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:997: in _call_annex 1094s return runner.run( 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s protocol = 1094s stdin = b'foo.dat\x00', cwd = None, env = None, timeout = None 1094s exception_on_error = True, kwargs = {'total_nbytes': 3} 1094s applied_cwd = PosixPath('/tmp/datalad_temp_test_auto_data_transferr5rx5bcv/a') 1094s applied_env = {'ADTTMP': '/tmp/autopkgtest.WXFAly/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-ar...: 'python-psutil/5.9.8-2build3', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-artifacts', ...} 1094s threaded_runner = 1094s results_or_iterator = {'code': 1, 'stderr': 'copy: 1 failed\n', 'stdout': '', 'stdout_json': [{'command': 'copy', 'error-messages': ['failed...ntent to remote', 'This could have failed because --fast is enabled.'], 'file': 'foo.dat', 'input': ['foo.dat'], ...}]} 1094s results = {'code': 1, 'stderr': 'copy: 1 failed\n', 'stdout': '', 'stdout_json': [{'command': 'copy', 'error-messages': ['failed...ntent to remote', 'This could have failed because --fast is enabled.'], 'file': 'foo.dat', 'input': ['foo.dat'], ...}]} 1094s return_code = 1 1094s 1094s def run(self, 1094s cmd: list | str, 1094s protocol: type[WitlessProtocol] | None = None, 1094s stdin: bytes | IO | Queue | None = None, 1094s cwd: PathLike | str | None = None, 1094s env: dict | None = None, 1094s timeout: float | None = None, 1094s exception_on_error: bool = True, 1094s **kwargs) -> dict | _ResultGenerator: 1094s """Execute a command and communicate with it. 1094s 1094s Parameters 1094s ---------- 1094s cmd : list or str 1094s Sequence of program arguments. Passing a single string causes 1094s execution via the platform shell. 1094s protocol : WitlessProtocol, optional 1094s Protocol class handling interaction with the running process 1094s (e.g. output capture). A number of pre-crafted classes are 1094s provided (e.g `KillOutput`, `NoCapture`, `GitProgress`). 1094s If the protocol has the GeneratorMixIn-mixin, the run-method 1094s will return an iterator and can therefore be used in a for-clause. 1094s stdin : file-like, bytes, Queue, or None 1094s If stdin is a file-like, it will be directly used as stdin for the 1094s subprocess. The caller is responsible for writing to it and closing it. 1094s If stdin is a bytes, it will be fed to stdin of the subprocess. 1094s If all data is written, stdin will be closed. 1094s If stdin is a Queue, all elements (bytes) put into the Queue will 1094s be passed to stdin until None is read from the queue. If None is read, 1094s stdin of the subprocess is closed. 1094s cwd : str or path-like, optional 1094s If given, commands are executed with this path as PWD, 1094s the PWD of the parent process is used otherwise. Overrides 1094s any `cwd` given to the constructor. 1094s env : dict, optional 1094s Environment to be used for command execution. If given, it will 1094s completely replace any environment provided to theconstructor. If 1094s `cwd` is given, 'PWD' in the environment is set to its value. 1094s This must be a complete environment definition, no values 1094s from the current environment will be inherited. Overrides 1094s any `env` given to the constructor. 1094s timeout: float, optional 1094s None or the seconds after which a timeout callback is 1094s invoked, if no progress was made in communicating with 1094s the sub-process, or if waiting for the subprocess exit 1094s took more than the specified time. See the protocol and 1094s `ThreadedRunner` descriptions for a more detailed discussion 1094s on timeouts. 1094s exception_on_error : bool, optional 1094s This argument is first interpreted if the protocol is a subclass 1094s of `GeneratorMixIn`. If it is `True` (default), a 1094s `CommandErrorException` is raised by the generator if the 1094s sub process exited with a return code not equal to zero. If the 1094s parameter is `False`, no exception is raised. In both cases the 1094s return code can be read from the attribute `return_code` of 1094s the generator. Then this argument interpreted within this function 1094s to not raise `CommandError` if value is False in case of non-0 exit. 1094s kwargs : 1094s Passed to the Protocol class constructor. 1094s 1094s Returns 1094s ------- 1094s dict | _ResultGenerator 1094s 1094s If the protocol is not a subclass of `GeneratorMixIn`, the 1094s result of protocol._prepare_result will be returned. 1094s 1094s If the protocol is a subclass of `GeneratorMixIn`, a Generator, i.e. 1094s a `_ResultGenerator`, will be returned. This allows to use this 1094s method in constructs like: 1094s 1094s for protocol_output in runner.run(): 1094s ... 1094s 1094s Where the iterator yields whatever protocol.pipe_data_received 1094s sends into the generator. 1094s If all output was yielded and the process has terminated, the 1094s generator will raise StopIteration(return_code), where 1094s return_code is the return code of the process. The return code 1094s of the process will also be stored in the "return_code"-attribute 1094s of the runner. So you could write: 1094s 1094s gen = runner.run() 1094s for file_descriptor, data in gen: 1094s ... 1094s 1094s # get the return code of the process 1094s result = gen.return_code 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s On execution failure (non-zero exit code) this exception is 1094s raised which provides the command (cmd), stdout, stderr, 1094s exit code (status), and a message identifying the failed 1094s command, as properties. 1094s FileNotFoundError 1094s When a given executable does not exist. 1094s """ 1094s if protocol is None: 1094s # by default let all subprocess stream pass through 1094s protocol = NoCapture 1094s 1094s applied_cwd = cwd or self.cwd 1094s applied_env = self._get_adjusted_env( 1094s env=env or self.env, 1094s cwd=applied_cwd, 1094s ) 1094s 1094s lgr.debug( 1094s 'Run %r (protocol_class=%s) (cwd=%s)', 1094s cmd, 1094s protocol.__name__, 1094s applied_cwd 1094s ) 1094s 1094s threaded_runner = ThreadedRunner( 1094s cmd=cmd, 1094s protocol_class=protocol, 1094s stdin=stdin, 1094s protocol_kwargs=kwargs, 1094s timeout=timeout, 1094s exception_on_error=exception_on_error, 1094s cwd=applied_cwd, 1094s env=applied_env 1094s ) 1094s 1094s results_or_iterator = threaded_runner.run() 1094s if issubclass(protocol, GeneratorMixIn): 1094s return results_or_iterator 1094s 1094s results = cast(dict, results_or_iterator) 1094s # log before any exception is raised 1094s lgr.debug("Finished %r with status %s", cmd, results['code']) 1094s 1094s # make it such that we always blow if a protocol did not report 1094s # a return code at all or it was non-0 and we were not asked ignore 1094s # errors 1094s return_code = results.get('code', None) 1094s if return_code is None or (return_code and exception_on_error): 1094s # the runner has a better idea, doc string warns Protocol 1094s # implementations not to return these 1094s results.pop('cmd', None) 1094s results.pop('cwd', None) 1094s > raise CommandError( 1094s # whatever the results were, we carry them forward 1094s cmd=cmd, 1094s cwd=applied_cwd, 1094s **results, 1094s ) 1094s E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false annex copy --batch -z --to b --auto --fast --json --json-error-messages --json-progress -c annex.dotfiles=true' failed with exitcode 1 under /tmp/datalad_temp_test_auto_data_transferr5rx5bcv/a [info keys: stdout_json] 1094s E > to b... 1094s E failed to send content to remote 1094s E This could have failed because --fast is enabled. [err: 'copy: 1 failed'] 1094s 1094s /usr/lib/python3/dist-packages/datalad/runner/runner.py:242: CommandError 1094s ------------------------------ Captured log call ------------------------------- 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/datalad_temp_test_auto_data_transferr5rx5bcv/a 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.distribution.create_sibling:create_sibling.py:190 Considering to create a target dataset /tmp/datalad_temp_test_auto_data_transferr5rx5bcv/a at /tmp/datalad_temp_test_auto_data_transferr5rx5bcv/b of localhost 1094s INFO datalad.distribution.update:update.py:307 Fetching updates for Dataset(/tmp/datalad_temp_test_auto_data_transferr5rx5bcv/a) 1094s INFO datalad.gitrepo:log.py:432 Start enumerating objects 1094s INFO datalad.gitrepo:log.py:432 Finished enumerating objects 1094s INFO datalad.gitrepo:log.py:432 Start counting objects 1094s INFO datalad.gitrepo:log.py:432 remote: Counting objects: 25% (1/4) 1094s INFO datalad.gitrepo:log.py:432 remote: Counting objects: 50% (2/4) 1094s INFO datalad.gitrepo:log.py:432 remote: Counting objects: 75% (3/4) 1094s INFO datalad.gitrepo:log.py:432 remote: Counting objects: 100% (4/4) 1094s INFO datalad.gitrepo:log.py:432 remote: Counting objects: 100% (4/4), done. 1094s INFO datalad.gitrepo:log.py:432 Finished counting objects 1094s INFO datalad.gitrepo:log.py:432 Start compressing objects 1094s INFO datalad.gitrepo:log.py:432 remote: Compressing objects: 50% (1/2) 1094s INFO datalad.gitrepo:log.py:432 remote: Compressing objects: 100% (2/2) 1094s INFO datalad.gitrepo:log.py:432 remote: Compressing objects: 100% (2/2), done. 1094s INFO datalad.gitrepo:log.py:432 Finished compressing objects 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.distribution.create_sibling:create_sibling.py:349 Adjusting remote git configuration 1094s INFO datalad.distribution.create_sibling:create_sibling.py:856 Running post-update hooks in all created siblings 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad.core.distributed.push:log.py:432 Push refspecs 1094s INFO datalad.core.distributed.push:log.py:432 Transfer data 1094s INFO datalad.annex:log.py:432 Start annex operation 1094s INFO datalad.annex:log.py:432 Finished 1094s INFO datalad.core.distributed.push:log.py:432 Update availability information 1094s INFO datalad.gitrepo:log.py:432 Start enumerating objects 1094s INFO datalad.gitrepo:log.py:432 Finished enumerating objects 1094s INFO datalad.gitrepo:log.py:432 Start counting objects 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 4% (1/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 8% (2/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 13% (3/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 17% (4/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 21% (5/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 26% (6/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 30% (7/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 34% (8/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 39% (9/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 43% (10/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 47% (11/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 52% (12/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 56% (13/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 60% (14/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 65% (15/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 69% (16/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 73% (17/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 78% (18/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 82% (19/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 86% (20/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 91% (21/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 95% (22/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 100% (23/23) 1094s INFO datalad.gitrepo:log.py:432 Counting objects: 100% (23/23), done. 1094s INFO datalad.gitrepo:log.py:432 Finished counting objects 1094s INFO datalad.gitrepo:log.py:432 Start compressing objects 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 5% (1/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 11% (2/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 17% (3/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 23% (4/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 29% (5/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 35% (6/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 41% (7/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 47% (8/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 52% (9/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 58% (10/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 64% (11/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 70% (12/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 76% (13/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 82% (14/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 88% (15/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 94% (16/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 100% (17/17) 1094s INFO datalad.gitrepo:log.py:432 Compressing objects: 100% (17/17), done. 1094s INFO datalad.gitrepo:log.py:432 Finished compressing objects 1094s INFO datalad.gitrepo:log.py:432 Start writing objects 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 5% (1/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 10% (2/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 15% (3/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 20% (4/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 25% (5/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 30% (6/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 35% (7/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 40% (8/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 45% (9/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 50% (10/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 55% (11/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 60% (12/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 65% (13/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 70% (14/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 75% (15/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 80% (16/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 85% (17/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 90% (18/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 95% (19/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 100% (20/20) 1094s INFO datalad.gitrepo:log.py:432 Writing objects: 100% (20/20), 1.83 KiB | 936.00 KiB/s, done. 1094s INFO datalad.gitrepo:log.py:432 Finished writing objects 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.push:log.py:432 Finished push of Dataset(/tmp/datalad_temp_test_auto_data_transferr5rx5bcv/a) 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad.core.distributed.push:log.py:432 Push refspecs 1094s INFO datalad.core.distributed.push:log.py:432 Transfer data 1094s INFO datalad.annex:log.py:432 Start annex operation 1094s INFO datalad.annex:log.py:432 Finished 1094s INFO datalad.core.distributed.push:log.py:432 Update availability information 1094s INFO datalad.core.distributed.push:log.py:432 Finished push of Dataset(/tmp/datalad_temp_test_auto_data_transferr5rx5bcv/a) 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad.core.distributed.push:log.py:432 Push refspecs 1094s INFO datalad.core.distributed.push:log.py:432 Transfer data 1094s INFO datalad.annex:log.py:432 Start annex operation 1094s INFO datalad.annex:log.py:432 Finished annex copy 1094s ______________ test_auto_if_wanted_data_transfer_path_restriction ______________ 1094s 1094s path = PosixPath('/tmp/datalad_temp_test_auto_if_wanted_data_transfer_path_restrictionkdml0rtu') 1094s 1094s @skip_if_adjusted_branch 1094s @slow # 16sec on Yarik's laptop 1094s @with_tempfile(mkdir=True) 1094s def test_auto_if_wanted_data_transfer_path_restriction(path=None): 1094s path = Path(path) 1094s ds_a = Dataset(path / "a").create() 1094s ds_a_sub0 = ds_a.create("sub0") 1094s ds_a_sub1 = ds_a.create("sub1") 1094s 1094s for ds in [ds_a, ds_a_sub0, ds_a_sub1]: 1094s (ds.pathobj / "sec.dat").write_text("sec") 1094s (ds.pathobj / "reg.dat").write_text("reg") 1094s ds_a.save(recursive=True) 1094s 1094s ds_a.create_sibling(str(path / "b"), name="b", 1094s annex_wanted="not metadata=distribution-restrictions=*", 1094s recursive=True) 1094s for ds in [ds_a, ds_a_sub0, ds_a_sub1]: 1094s ds.repo.set_metadata(add={"distribution-restrictions": "doesntmatter"}, 1094s files=["sec.dat"]) 1094s 1094s # wanted-triggered --auto can be restricted to subdataset... 1094s > res = ds_a.push(to="b", path="sub0", data="auto-if-wanted", 1094s recursive=True) 1094s 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/tests/test_push.py:805: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s /usr/lib/python3/dist-packages/datalad/distribution/dataset.py:507: in apply_func 1094s return f(*args, **kwargs) 1094s /usr/lib/python3/dist-packages/datalad/interface/base.py:773: in eval_func 1094s return return_func(*args, **kwargs) 1094s /usr/lib/python3/dist-packages/datalad/interface/base.py:763: in return_func 1094s results = list(results) 1094s ../build.vXv/src/datalad_next/patches/interface_utils.py:218: in _execute_command_ 1094s for r in _process_results( 1094s /usr/lib/python3/dist-packages/datalad/interface/utils.py:319: in _process_results 1094s for res in results: 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/push.py:259: in __call__ 1094s yield from _push( 1094s ../build.vXv/src/datalad_next/patches/push_optimize.py:184: in _push 1094s yield from mod_push._transfer_data( 1094s ../build.vXv/src/datalad_next/patches/push_to_export_remote.py:170: in _transfer_data 1094s yield from mod_push._push_data( 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/push.py:898: in _push_data 1094s res = ds_repo._call_annex_records( 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1134: in _call_annex_records 1094s raise e 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1094: in _call_annex_records 1094s out = self._call_annex( 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:997: in _call_annex 1094s return runner.run( 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s protocol = 1094s stdin = b'reg.dat\x00sec.dat\x00', cwd = None, env = None, timeout = None 1094s exception_on_error = True, kwargs = {'total_nbytes': 6} 1094s applied_cwd = PosixPath('/tmp/datalad_temp_test_auto_if_wanted_data_transfer_path_restrictionkdml0rtu/a/sub0') 1094s applied_env = {'ADTTMP': '/tmp/autopkgtest.WXFAly/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-ar...: 'python-psutil/5.9.8-2build3', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-artifacts', ...} 1094s threaded_runner = 1094s results_or_iterator = {'code': 1, 'stderr': 'copy: 1 failed\n', 'stdout': '', 'stdout_json': [{'command': 'copy', 'error-messages': ['failed...ntent to remote', 'This could have failed because --fast is enabled.'], 'file': 'reg.dat', 'input': ['reg.dat'], ...}]} 1094s results = {'code': 1, 'stderr': 'copy: 1 failed\n', 'stdout': '', 'stdout_json': [{'command': 'copy', 'error-messages': ['failed...ntent to remote', 'This could have failed because --fast is enabled.'], 'file': 'reg.dat', 'input': ['reg.dat'], ...}]} 1094s return_code = 1 1094s 1094s def run(self, 1094s cmd: list | str, 1094s protocol: type[WitlessProtocol] | None = None, 1094s stdin: bytes | IO | Queue | None = None, 1094s cwd: PathLike | str | None = None, 1094s env: dict | None = None, 1094s timeout: float | None = None, 1094s exception_on_error: bool = True, 1094s **kwargs) -> dict | _ResultGenerator: 1094s """Execute a command and communicate with it. 1094s 1094s Parameters 1094s ---------- 1094s cmd : list or str 1094s Sequence of program arguments. Passing a single string causes 1094s execution via the platform shell. 1094s protocol : WitlessProtocol, optional 1094s Protocol class handling interaction with the running process 1094s (e.g. output capture). A number of pre-crafted classes are 1094s provided (e.g `KillOutput`, `NoCapture`, `GitProgress`). 1094s If the protocol has the GeneratorMixIn-mixin, the run-method 1094s will return an iterator and can therefore be used in a for-clause. 1094s stdin : file-like, bytes, Queue, or None 1094s If stdin is a file-like, it will be directly used as stdin for the 1094s subprocess. The caller is responsible for writing to it and closing it. 1094s If stdin is a bytes, it will be fed to stdin of the subprocess. 1094s If all data is written, stdin will be closed. 1094s If stdin is a Queue, all elements (bytes) put into the Queue will 1094s be passed to stdin until None is read from the queue. If None is read, 1094s stdin of the subprocess is closed. 1094s cwd : str or path-like, optional 1094s If given, commands are executed with this path as PWD, 1094s the PWD of the parent process is used otherwise. Overrides 1094s any `cwd` given to the constructor. 1094s env : dict, optional 1094s Environment to be used for command execution. If given, it will 1094s completely replace any environment provided to theconstructor. If 1094s `cwd` is given, 'PWD' in the environment is set to its value. 1094s This must be a complete environment definition, no values 1094s from the current environment will be inherited. Overrides 1094s any `env` given to the constructor. 1094s timeout: float, optional 1094s None or the seconds after which a timeout callback is 1094s invoked, if no progress was made in communicating with 1094s the sub-process, or if waiting for the subprocess exit 1094s took more than the specified time. See the protocol and 1094s `ThreadedRunner` descriptions for a more detailed discussion 1094s on timeouts. 1094s exception_on_error : bool, optional 1094s This argument is first interpreted if the protocol is a subclass 1094s of `GeneratorMixIn`. If it is `True` (default), a 1094s `CommandErrorException` is raised by the generator if the 1094s sub process exited with a return code not equal to zero. If the 1094s parameter is `False`, no exception is raised. In both cases the 1094s return code can be read from the attribute `return_code` of 1094s the generator. Then this argument interpreted within this function 1094s to not raise `CommandError` if value is False in case of non-0 exit. 1094s kwargs : 1094s Passed to the Protocol class constructor. 1094s 1094s Returns 1094s ------- 1094s dict | _ResultGenerator 1094s 1094s If the protocol is not a subclass of `GeneratorMixIn`, the 1094s result of protocol._prepare_result will be returned. 1094s 1094s If the protocol is a subclass of `GeneratorMixIn`, a Generator, i.e. 1094s a `_ResultGenerator`, will be returned. This allows to use this 1094s method in constructs like: 1094s 1094s for protocol_output in runner.run(): 1094s ... 1094s 1094s Where the iterator yields whatever protocol.pipe_data_received 1094s sends into the generator. 1094s If all output was yielded and the process has terminated, the 1094s generator will raise StopIteration(return_code), where 1094s return_code is the return code of the process. The return code 1094s of the process will also be stored in the "return_code"-attribute 1094s of the runner. So you could write: 1094s 1094s gen = runner.run() 1094s for file_descriptor, data in gen: 1094s ... 1094s 1094s # get the return code of the process 1094s result = gen.return_code 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s On execution failure (non-zero exit code) this exception is 1094s raised which provides the command (cmd), stdout, stderr, 1094s exit code (status), and a message identifying the failed 1094s command, as properties. 1094s FileNotFoundError 1094s When a given executable does not exist. 1094s """ 1094s if protocol is None: 1094s # by default let all subprocess stream pass through 1094s protocol = NoCapture 1094s 1094s applied_cwd = cwd or self.cwd 1094s applied_env = self._get_adjusted_env( 1094s env=env or self.env, 1094s cwd=applied_cwd, 1094s ) 1094s 1094s lgr.debug( 1094s 'Run %r (protocol_class=%s) (cwd=%s)', 1094s cmd, 1094s protocol.__name__, 1094s applied_cwd 1094s ) 1094s 1094s threaded_runner = ThreadedRunner( 1094s cmd=cmd, 1094s protocol_class=protocol, 1094s stdin=stdin, 1094s protocol_kwargs=kwargs, 1094s timeout=timeout, 1094s exception_on_error=exception_on_error, 1094s cwd=applied_cwd, 1094s env=applied_env 1094s ) 1094s 1094s results_or_iterator = threaded_runner.run() 1094s if issubclass(protocol, GeneratorMixIn): 1094s return results_or_iterator 1094s 1094s results = cast(dict, results_or_iterator) 1094s # log before any exception is raised 1094s lgr.debug("Finished %r with status %s", cmd, results['code']) 1094s 1094s # make it such that we always blow if a protocol did not report 1094s # a return code at all or it was non-0 and we were not asked ignore 1094s # errors 1094s return_code = results.get('code', None) 1094s if return_code is None or (return_code and exception_on_error): 1094s # the runner has a better idea, doc string warns Protocol 1094s # implementations not to return these 1094s results.pop('cmd', None) 1094s results.pop('cwd', None) 1094s > raise CommandError( 1094s # whatever the results were, we carry them forward 1094s cmd=cmd, 1094s cwd=applied_cwd, 1094s **results, 1094s ) 1094s E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false annex copy --batch -z --to b --auto --fast --json --json-error-messages --json-progress -c annex.dotfiles=true' failed with exitcode 1 under /tmp/datalad_temp_test_auto_if_wanted_data_transfer_path_restrictionkdml0rtu/a/sub0 [info keys: stdout_json] 1094s E > to b... 1094s E failed to send content to remote 1094s E This could have failed because --fast is enabled. [err: 'copy: 1 failed'] 1094s 1094s /usr/lib/python3/dist-packages/datalad/runner/runner.py:242: CommandError 1094s ------------------------------ Captured log call ------------------------------- 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/datalad_temp_test_auto_if_wanted_data_transfer_path_restrictionkdml0rtu/a 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/datalad_temp_test_auto_if_wanted_data_transfer_path_restrictionkdml0rtu/a 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/datalad_temp_test_auto_if_wanted_data_transfer_path_restrictionkdml0rtu/a/sub1 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/datalad_temp_test_auto_if_wanted_data_transfer_path_restrictionkdml0rtu/a/sub0 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/datalad_temp_test_auto_if_wanted_data_transfer_path_restrictionkdml0rtu/a 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.distribution.create_sibling:create_sibling.py:190 Considering to create a target dataset /tmp/datalad_temp_test_auto_if_wanted_data_transfer_path_restrictionkdml0rtu/a at /tmp/datalad_temp_test_auto_if_wanted_data_transfer_path_restrictionkdml0rtu/b of localhost 1094s INFO datalad.distribution.update:update.py:307 Fetching updates for Dataset(/tmp/datalad_temp_test_auto_if_wanted_data_transfer_path_restrictionkdml0rtu/a) 1094s INFO datalad.gitrepo:log.py:432 Start enumerating objects 1094s INFO datalad.gitrepo:log.py:432 Finished enumerating objects 1094s INFO datalad.gitrepo:log.py:432 Start counting objects 1094s INFO datalad.gitrepo:log.py:432 remote: Counting objects: 20% (1/5) 1094s INFO datalad.gitrepo:log.py:432 remote: Counting objects: 40% (2/5) 1094s INFO datalad.gitrepo:log.py:432 remote: Counting objects: 60% (3/5) 1094s INFO datalad.gitrepo:log.py:432 remote: Counting objects: 80% (4/5) 1094s INFO datalad.gitrepo:log.py:432 remote: Counting objects: 100% (5/5) 1094s INFO datalad.gitrepo:log.py:432 remote: Counting objects: 100% (5/5), done. 1094s INFO datalad.gitrepo:log.py:432 Finished counting objects 1094s INFO datalad.gitrepo:log.py:432 Start compressing objects 1094s INFO datalad.gitrepo:log.py:432 remote: Compressing objects: 33% (1/3) 1094s INFO datalad.gitrepo:log.py:432 remote: Compressing objects: 66% (2/3) 1094s INFO datalad.gitrepo:log.py:432 remote: Compressing objects: 100% (3/3) 1094s INFO datalad.gitrepo:log.py:432 remote: Compressing objects: 100% (3/3), done. 1094s INFO datalad.gitrepo:log.py:432 Finished compressing objects 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.distribution.create_sibling:create_sibling.py:349 Adjusting remote git configuration 1094s INFO datalad.distribution.create_sibling:create_sibling.py:190 Considering to create a target dataset /tmp/datalad_temp_test_auto_if_wanted_data_transfer_path_restrictionkdml0rtu/a/sub0 at /tmp/datalad_temp_test_auto_if_wanted_data_transfer_path_restrictionkdml0rtu/b/sub0 of localhost 1094s INFO datalad.distribution.update:update.py:307 Fetching updates for Dataset(/tmp/datalad_temp_test_auto_if_wanted_data_transfer_path_restrictionkdml0rtu/a/sub0) 1094s INFO datalad.gitrepo:log.py:432 Start enumerating objects 1094s INFO datalad.gitrepo:log.py:432 Finished enumerating objects 1094s INFO datalad.gitrepo:log.py:432 Start counting objects 1094s INFO datalad.gitrepo:log.py:432 remote: Counting objects: 20% (1/5) 1094s INFO datalad.gitrepo:log.py:432 remote: Counting objects: 40% (2/5) 1094s INFO datalad.gitrepo:log.py:432 remote: Counting objects: 60% (3/5) 1094s INFO datalad.gitrepo:log.py:432 remote: Counting objects: 80% (4/5) 1094s INFO datalad.gitrepo:log.py:432 remote: Counting objects: 100% (5/5) 1094s INFO datalad.gitrepo:log.py:432 remote: Counting objects: 100% (5/5), done. 1094s INFO datalad.gitrepo:log.py:432 Finished counting objects 1094s INFO datalad.gitrepo:log.py:432 Start compressing objects 1094s INFO datalad.gitrepo:log.py:432 remote: Compressing objects: 33% (1/3) 1094s INFO datalad.gitrepo:log.py:432 remote: Compressing objects: 66% (2/3) 1094s INFO datalad.gitrepo:log.py:432 remote: Compressing objects: 100% (3/3) 1094s INFO datalad.gitrepo:log.py:432 remote: Compressing objects: 100% (3/3), done. 1094s INFO datalad.gitrepo:log.py:432 Finished compressing objects 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.distribution.create_sibling:create_sibling.py:349 Adjusting remote git configuration 1094s INFO datalad.distribution.create_sibling:create_sibling.py:190 Considering to create a target dataset /tmp/datalad_temp_test_auto_if_wanted_data_transfer_path_restrictionkdml0rtu/a/sub1 at /tmp/datalad_temp_test_auto_if_wanted_data_transfer_path_restrictionkdml0rtu/b/sub1 of localhost 1094s INFO datalad.distribution.update:update.py:307 Fetching updates for Dataset(/tmp/datalad_temp_test_auto_if_wanted_data_transfer_path_restrictionkdml0rtu/a/sub1) 1094s INFO datalad.gitrepo:log.py:432 Start enumerating objects 1094s INFO datalad.gitrepo:log.py:432 Finished enumerating objects 1094s INFO datalad.gitrepo:log.py:432 Start counting objects 1094s INFO datalad.gitrepo:log.py:432 remote: Counting objects: 20% (1/5) 1094s INFO datalad.gitrepo:log.py:432 remote: Counting objects: 40% (2/5) 1094s INFO datalad.gitrepo:log.py:432 remote: Counting objects: 60% (3/5) 1094s INFO datalad.gitrepo:log.py:432 remote: Counting objects: 80% (4/5) 1094s INFO datalad.gitrepo:log.py:432 remote: Counting objects: 100% (5/5) 1094s INFO datalad.gitrepo:log.py:432 remote: Counting objects: 100% (5/5), done. 1094s INFO datalad.gitrepo:log.py:432 Finished counting objects 1094s INFO datalad.gitrepo:log.py:432 Start compressing objects 1094s INFO datalad.gitrepo:log.py:432 remote: Compressing objects: 33% (1/3) 1094s INFO datalad.gitrepo:log.py:432 remote: Compressing objects: 66% (2/3) 1094s INFO datalad.gitrepo:log.py:432 remote: Compressing objects: 100% (3/3) 1094s INFO datalad.gitrepo:log.py:432 remote: Compressing objects: 100% (3/3), done. 1094s INFO datalad.gitrepo:log.py:432 Finished compressing objects 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.distribution.create_sibling:create_sibling.py:349 Adjusting remote git configuration 1094s INFO datalad.distribution.create_sibling:create_sibling.py:856 Running post-update hooks in all created siblings 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad.core.distributed.push:log.py:432 Push refspecs 1094s INFO datalad.core.distributed.push:log.py:432 Transfer data 1094s INFO datalad.annex:log.py:432 Start annex operation 1094s INFO datalad.annex:log.py:432 reg.dat 1094s INFO datalad.annex:log.py:432 Finished 1094s _______________ test_push_git_annex_branch_many_paths_same_data ________________ 1094s 1094s path = PosixPath('/tmp/datalad_temp_tree_test_push_git_annex_branch_many_paths_same_datagji2kvga') 1094s 1094s @known_failure_githubci_osx 1094s @with_tree(tree={"ds": {"f0": "0", "f1": "0", "f2": "0", 1094s "f3": "1", 1094s "f4": "2", "f5": "2"}}) 1094s def test_push_git_annex_branch_many_paths_same_data(path=None): 1094s path = Path(path) 1094s ds = Dataset(path / "ds").create(force=True) 1094s ds.save() 1094s mk_push_target(ds, "target", str(path / "target"), 1094s annex=True, bare=False) 1094s nbytes = sum(ds.repo.get_content_annexinfo(paths=[f])[f]["bytesize"] 1094s for f in [ds.repo.pathobj / "f0", 1094s ds.repo.pathobj / "f3", 1094s ds.repo.pathobj / "f4"]) 1094s with swallow_logs(new_level=logging.DEBUG) as cml: 1094s > res = ds.push(to="target") 1094s 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/tests/test_push.py:881: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s /usr/lib/python3/dist-packages/datalad/distribution/dataset.py:507: in apply_func 1094s return f(*args, **kwargs) 1094s /usr/lib/python3/dist-packages/datalad/interface/base.py:773: in eval_func 1094s return return_func(*args, **kwargs) 1094s /usr/lib/python3/dist-packages/datalad/interface/base.py:763: in return_func 1094s results = list(results) 1094s ../build.vXv/src/datalad_next/patches/interface_utils.py:218: in _execute_command_ 1094s for r in _process_results( 1094s /usr/lib/python3/dist-packages/datalad/interface/utils.py:319: in _process_results 1094s for res in results: 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/push.py:259: in __call__ 1094s yield from _push( 1094s ../build.vXv/src/datalad_next/patches/push_optimize.py:184: in _push 1094s yield from mod_push._transfer_data( 1094s ../build.vXv/src/datalad_next/patches/push_to_export_remote.py:170: in _transfer_data 1094s yield from mod_push._push_data( 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/push.py:898: in _push_data 1094s res = ds_repo._call_annex_records( 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1134: in _call_annex_records 1094s raise e 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1094: in _call_annex_records 1094s out = self._call_annex( 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:997: in _call_annex 1094s return runner.run( 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s protocol = 1094s stdin = b'f0\x00f3\x00f4\x00', cwd = None, env = None, timeout = None 1094s exception_on_error = True, kwargs = {'total_nbytes': 3} 1094s applied_cwd = PosixPath('/tmp/datalad_temp_tree_test_push_git_annex_branch_many_paths_same_datagji2kvga/ds') 1094s applied_env = {'ADTTMP': '/tmp/autopkgtest.WXFAly/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-ar...: 'python-psutil/5.9.8-2build3', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-artifacts', ...} 1094s threaded_runner = 1094s results_or_iterator = {'code': 1, 'stderr': 'copy: 3 failed\n', 'stdout': '', 'stdout_json': [{'command': 'copy', 'error-messages': ['failed...to send content to remote', 'This could have failed because --fast is enabled.'], 'file': 'f4', 'input': ['f4'], ...}]} 1094s results = {'code': 1, 'stderr': 'copy: 3 failed\n', 'stdout': '', 'stdout_json': [{'command': 'copy', 'error-messages': ['failed...to send content to remote', 'This could have failed because --fast is enabled.'], 'file': 'f4', 'input': ['f4'], ...}]} 1094s return_code = 1 1094s 1094s def run(self, 1094s cmd: list | str, 1094s protocol: type[WitlessProtocol] | None = None, 1094s stdin: bytes | IO | Queue | None = None, 1094s cwd: PathLike | str | None = None, 1094s env: dict | None = None, 1094s timeout: float | None = None, 1094s exception_on_error: bool = True, 1094s **kwargs) -> dict | _ResultGenerator: 1094s """Execute a command and communicate with it. 1094s 1094s Parameters 1094s ---------- 1094s cmd : list or str 1094s Sequence of program arguments. Passing a single string causes 1094s execution via the platform shell. 1094s protocol : WitlessProtocol, optional 1094s Protocol class handling interaction with the running process 1094s (e.g. output capture). A number of pre-crafted classes are 1094s provided (e.g `KillOutput`, `NoCapture`, `GitProgress`). 1094s If the protocol has the GeneratorMixIn-mixin, the run-method 1094s will return an iterator and can therefore be used in a for-clause. 1094s stdin : file-like, bytes, Queue, or None 1094s If stdin is a file-like, it will be directly used as stdin for the 1094s subprocess. The caller is responsible for writing to it and closing it. 1094s If stdin is a bytes, it will be fed to stdin of the subprocess. 1094s If all data is written, stdin will be closed. 1094s If stdin is a Queue, all elements (bytes) put into the Queue will 1094s be passed to stdin until None is read from the queue. If None is read, 1094s stdin of the subprocess is closed. 1094s cwd : str or path-like, optional 1094s If given, commands are executed with this path as PWD, 1094s the PWD of the parent process is used otherwise. Overrides 1094s any `cwd` given to the constructor. 1094s env : dict, optional 1094s Environment to be used for command execution. If given, it will 1094s completely replace any environment provided to theconstructor. If 1094s `cwd` is given, 'PWD' in the environment is set to its value. 1094s This must be a complete environment definition, no values 1094s from the current environment will be inherited. Overrides 1094s any `env` given to the constructor. 1094s timeout: float, optional 1094s None or the seconds after which a timeout callback is 1094s invoked, if no progress was made in communicating with 1094s the sub-process, or if waiting for the subprocess exit 1094s took more than the specified time. See the protocol and 1094s `ThreadedRunner` descriptions for a more detailed discussion 1094s on timeouts. 1094s exception_on_error : bool, optional 1094s This argument is first interpreted if the protocol is a subclass 1094s of `GeneratorMixIn`. If it is `True` (default), a 1094s `CommandErrorException` is raised by the generator if the 1094s sub process exited with a return code not equal to zero. If the 1094s parameter is `False`, no exception is raised. In both cases the 1094s return code can be read from the attribute `return_code` of 1094s the generator. Then this argument interpreted within this function 1094s to not raise `CommandError` if value is False in case of non-0 exit. 1094s kwargs : 1094s Passed to the Protocol class constructor. 1094s 1094s Returns 1094s ------- 1094s dict | _ResultGenerator 1094s 1094s If the protocol is not a subclass of `GeneratorMixIn`, the 1094s result of protocol._prepare_result will be returned. 1094s 1094s If the protocol is a subclass of `GeneratorMixIn`, a Generator, i.e. 1094s a `_ResultGenerator`, will be returned. This allows to use this 1094s method in constructs like: 1094s 1094s for protocol_output in runner.run(): 1094s ... 1094s 1094s Where the iterator yields whatever protocol.pipe_data_received 1094s sends into the generator. 1094s If all output was yielded and the process has terminated, the 1094s generator will raise StopIteration(return_code), where 1094s return_code is the return code of the process. The return code 1094s of the process will also be stored in the "return_code"-attribute 1094s of the runner. So you could write: 1094s 1094s gen = runner.run() 1094s for file_descriptor, data in gen: 1094s ... 1094s 1094s # get the return code of the process 1094s result = gen.return_code 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s On execution failure (non-zero exit code) this exception is 1094s raised which provides the command (cmd), stdout, stderr, 1094s exit code (status), and a message identifying the failed 1094s command, as properties. 1094s FileNotFoundError 1094s When a given executable does not exist. 1094s """ 1094s if protocol is None: 1094s # by default let all subprocess stream pass through 1094s protocol = NoCapture 1094s 1094s applied_cwd = cwd or self.cwd 1094s applied_env = self._get_adjusted_env( 1094s env=env or self.env, 1094s cwd=applied_cwd, 1094s ) 1094s 1094s lgr.debug( 1094s 'Run %r (protocol_class=%s) (cwd=%s)', 1094s cmd, 1094s protocol.__name__, 1094s applied_cwd 1094s ) 1094s 1094s threaded_runner = ThreadedRunner( 1094s cmd=cmd, 1094s protocol_class=protocol, 1094s stdin=stdin, 1094s protocol_kwargs=kwargs, 1094s timeout=timeout, 1094s exception_on_error=exception_on_error, 1094s cwd=applied_cwd, 1094s env=applied_env 1094s ) 1094s 1094s results_or_iterator = threaded_runner.run() 1094s if issubclass(protocol, GeneratorMixIn): 1094s return results_or_iterator 1094s 1094s results = cast(dict, results_or_iterator) 1094s # log before any exception is raised 1094s lgr.debug("Finished %r with status %s", cmd, results['code']) 1094s 1094s # make it such that we always blow if a protocol did not report 1094s # a return code at all or it was non-0 and we were not asked ignore 1094s # errors 1094s return_code = results.get('code', None) 1094s if return_code is None or (return_code and exception_on_error): 1094s # the runner has a better idea, doc string warns Protocol 1094s # implementations not to return these 1094s results.pop('cmd', None) 1094s results.pop('cwd', None) 1094s > raise CommandError( 1094s # whatever the results were, we carry them forward 1094s cmd=cmd, 1094s cwd=applied_cwd, 1094s **results, 1094s ) 1094s E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false annex copy --batch -z --to target --fast --json --json-error-messages --json-progress -c annex.dotfiles=true' failed with exitcode 1 under /tmp/datalad_temp_tree_test_push_git_annex_branch_many_paths_same_datagji2kvga/ds [info keys: stdout_json] 1094s E > to target... 1094s E failed to send content to remote 1094s E This could have failed because --fast is enabled. [3 times] [err: 'copy: 3 failed'] 1094s 1094s /usr/lib/python3/dist-packages/datalad/runner/runner.py:242: CommandError 1094s ------------------------------ Captured log call ------------------------------- 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/datalad_temp_tree_test_push_git_annex_branch_many_paths_same_datagji2kvga/ds 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s DEBUG datalad.utils:utils.py:2724 Determined class of decorated function: 1094s DEBUG datalad.interface.utils:interface_utils.py:138 Command parameter validation skipped. declares no validator 1094s DEBUG datalad.dataset:dataset.py:595 Resolved dataset to push: /tmp/datalad_temp_tree_test_push_git_annex_branch_many_paths_same_datagji2kvga/ds 1094s DEBUG datalad.dataset:dataset.py:595 Resolved dataset to report difference: /tmp/datalad_temp_tree_test_push_git_annex_branch_many_paths_same_datagji2kvga/ds 1094s DEBUG datalad.core.local.diff:diff.py:334 Diff Dataset(/tmp/datalad_temp_tree_test_push_git_annex_branch_many_paths_same_datagji2kvga/ds) from 'None' to 'HEAD' 1094s DEBUG datalad.gitrepo:gitrepo.py:2843 AnnexRepo(/tmp/datalad_temp_tree_test_push_git_annex_branch_many_paths_same_datagji2kvga/ds).get_content_info(...) 1094s DEBUG datalad.gitrepo:gitrepo.py:2899 Query repo: ['ls-tree', 'HEAD', '-z', '-r', '--full-tree', '-l'] 1094s DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'ls-tree', 'HEAD', '-z', '-r', '--full-tree', '-l'] (protocol_class=GeneratorStdOutErrCapture) (cwd=/tmp/datalad_temp_tree_test_push_git_annex_branch_many_paths_same_datagji2kvga/ds) 1094s DEBUG datalad.gitrepo:gitrepo.py:2910 Done query repo: ['ls-tree', 'HEAD', '-z', '-r', '--full-tree', '-l'] 1094s DEBUG datalad.gitrepo:gitrepo.py:2918 Done AnnexRepo(/tmp/datalad_temp_tree_test_push_git_annex_branch_many_paths_same_datagji2kvga/ds).get_content_info(...) 1094s DEBUG datalad.core.distributed.push:push.py:257 Pushing Dataset at /tmp/datalad_temp_tree_test_push_git_annex_branch_many_paths_same_datagji2kvga/ds 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad.core.distributed.push:log.py:432 Push refspecs 1094s DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'push', '--progress', '--porcelain', '--dry-run', 'target'] (protocol_class=StdOutCaptureWithGitProgress) (cwd=/tmp/datalad_temp_tree_test_push_git_annex_branch_many_paths_same_datagji2kvga/ds) 1094s DEBUG datalad.gitrepo:gitrepo.py:470 Non-progress stderr: b'fatal: The current branch dl-test-branch has no upstream branch.\n' 1094s DEBUG datalad.gitrepo:gitrepo.py:470 Non-progress stderr: b'To push the current branch and set the remote as upstream, use\n' 1094s DEBUG datalad.gitrepo:gitrepo.py:470 Non-progress stderr: b'\n' 1094s DEBUG datalad.gitrepo:gitrepo.py:470 Non-progress stderr: b' git push --set-upstream target dl-test-branch\n' 1094s DEBUG datalad.gitrepo:gitrepo.py:470 Non-progress stderr: b'\n' 1094s DEBUG datalad.gitrepo:gitrepo.py:470 Non-progress stderr: b'To have this happen automatically for branches without a tracking\n' 1094s DEBUG datalad.gitrepo:gitrepo.py:470 Non-progress stderr: b"upstream, see 'push.autoSetupRemote' in 'git help config'.\n" 1094s DEBUG datalad.gitrepo:gitrepo.py:470 Non-progress stderr: b'\n' 1094s DEBUG datalad.runner.runner:runner.py:231 Finished ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'push', '--progress', '--porcelain', '--dry-run', 'target'] with status 128 1094s DEBUG datalad.core.distributed.push:push_optimize.py:254 Dry-run push to 'target' remote failed, assume no configuration: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false push --progress --porcelain --dry-run target' failed with exitcode 128 under /tmp/datalad_temp_tree_test_push_git_annex_branch_many_paths_same_datagji2kvga/ds [err: 'fatal: The current branch dl-test-branch has no upstream branch. 1094s To push the current branch and set the remote as upstream, use 1094s 1094s git push --set-upstream target dl-test-branch 1094s 1094s To have this happen automatically for branches without a tracking 1094s upstream, see 'push.autoSetupRemote' in 'git help config'.'] 1094s DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'symbolic-ref', 'HEAD'] (protocol_class=GeneratorStdOutErrCapture) (cwd=/tmp/datalad_temp_tree_test_push_git_annex_branch_many_paths_same_datagji2kvga/ds) 1094s DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'symbolic-ref', 'HEAD'] (protocol_class=GeneratorStdOutErrCapture) (cwd=/tmp/datalad_temp_tree_test_push_git_annex_branch_many_paths_same_datagji2kvga/ds) 1094s DEBUG datalad.annex:annexrepo.py:3680 No sync necessary, no corresponding branch detected 1094s INFO datalad.core.distributed.push:log.py:432 Transfer data 1094s DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'cat-file', 'blob', 'git-annex:remote.log'] (protocol_class=GeneratorStdOutErrCapture) (cwd=/tmp/datalad_temp_tree_test_push_git_annex_branch_many_paths_same_datagji2kvga/ds) 1094s Level 11 datalad.dataset.gitrepo:gitrepo.py:85 CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false cat-file blob git-annex:remote.log' failed with exitcode 128 [err: 'fatal: path 'remote.log' does not exist in 'git-annex''] 1094s DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'cat-file', 'blob', 'git-annex:trust.log'] (protocol_class=GeneratorStdOutErrCapture) (cwd=/tmp/datalad_temp_tree_test_push_git_annex_branch_many_paths_same_datagji2kvga/ds) 1094s Level 11 datalad.dataset.gitrepo:gitrepo.py:85 CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false cat-file blob git-annex:trust.log' failed with exitcode 128 [err: 'fatal: path 'trust.log' does not exist in 'git-annex''] 1094s DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', 'findref', '--anything', 'HEAD', '--json', '--json-error-messages', '-c', 'annex.dotfiles=true'] (protocol_class=AnnexJsonProtocol) (cwd=/tmp/datalad_temp_tree_test_push_git_annex_branch_many_paths_same_datagji2kvga/ds) 1094s DEBUG datalad.runner.runner:runner.py:231 Finished ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', 'findref', '--anything', 'HEAD', '--json', '--json-error-messages', '-c', 'annex.dotfiles=true'] with status 0 1094s DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', 'wanted', 'target', '-c', 'annex.dotfiles=true'] (protocol_class=GeneratorStdOutErrCapture) (cwd=/tmp/datalad_temp_tree_test_push_git_annex_branch_many_paths_same_datagji2kvga/ds) 1094s DEBUG datalad.core.distributed.push:push.py:867 Pushing data from Dataset(/tmp/datalad_temp_tree_test_push_git_annex_branch_many_paths_same_datagji2kvga/ds) to 'target' 1094s DEBUG datalad.core.distributed.push:push.py:894 Counted 3 bytes of annex data to transfer 1094s DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', 'copy', '--batch', '-z', '--to', 'target', '--fast', '--json', '--json-error-messages', '--json-progress', '-c', 'annex.dotfiles=true'] (protocol_class=AnnexJsonProtocol) (cwd=/tmp/datalad_temp_tree_test_push_git_annex_branch_many_paths_same_datagji2kvga/ds) 1094s INFO datalad.annex:log.py:432 Start annex operation 1094s INFO datalad.annex:log.py:432 f0 1094s INFO datalad.annex:log.py:432 f3 1094s INFO datalad.annex:log.py:432 Finished annex copy 1094s DEBUG datalad.runner.runner:runner.py:231 Finished ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', 'copy', '--batch', '-z', '--to', 'target', '--fast', '--json', '--json-error-messages', '--json-progress', '-c', 'annex.dotfiles=true'] with status 1 1094s ______________________________ test_push_matching ______________________________ 1094s 1094s path = PosixPath('/tmp/datalad_temp_tree_test_push_matchinghsii9_7n') 1094s 1094s @known_failure_githubci_osx 1094s @with_tree(tree={"ds": {"f0": "0"}}) 1094s def test_push_matching(path=None): 1094s path = Path(path) 1094s ds = Dataset(path / "ds").create(force=True) 1094s ds.config.set('push.default', 'matching', scope='local') 1094s ds.save() 1094s remote_ds = mk_push_target(ds, 'local', str(path / 'dssibling'), 1094s annex=True, bare=False) 1094s # that fact that the next one even runs makes sure that we are in a better 1094s # place than https://github.com/datalad/datalad/issues/4888 1094s > ds.push(to='local') 1094s 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/tests/test_push.py:899: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s /usr/lib/python3/dist-packages/datalad/distribution/dataset.py:507: in apply_func 1094s return f(*args, **kwargs) 1094s /usr/lib/python3/dist-packages/datalad/interface/base.py:773: in eval_func 1094s return return_func(*args, **kwargs) 1094s /usr/lib/python3/dist-packages/datalad/interface/base.py:763: in return_func 1094s results = list(results) 1094s ../build.vXv/src/datalad_next/patches/interface_utils.py:218: in _execute_command_ 1094s for r in _process_results( 1094s /usr/lib/python3/dist-packages/datalad/interface/utils.py:319: in _process_results 1094s for res in results: 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/push.py:259: in __call__ 1094s yield from _push( 1094s ../build.vXv/src/datalad_next/patches/push_optimize.py:184: in _push 1094s yield from mod_push._transfer_data( 1094s ../build.vXv/src/datalad_next/patches/push_to_export_remote.py:170: in _transfer_data 1094s yield from mod_push._push_data( 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/push.py:898: in _push_data 1094s res = ds_repo._call_annex_records( 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1134: in _call_annex_records 1094s raise e 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:1094: in _call_annex_records 1094s out = self._call_annex( 1094s /usr/lib/python3/dist-packages/datalad/support/annexrepo.py:997: in _call_annex 1094s return runner.run( 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = 1094s cmd = ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', ...] 1094s protocol = 1094s stdin = b'f0\x00', cwd = None, env = None, timeout = None 1094s exception_on_error = True, kwargs = {'total_nbytes': 1} 1094s applied_cwd = PosixPath('/tmp/datalad_temp_tree_test_push_matchinghsii9_7n/ds') 1094s applied_env = {'ADTTMP': '/tmp/autopkgtest.WXFAly/autopkgtest_tmp', 'ADT_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-ar...: 'python-psutil/5.9.8-2build3', 'AUTOPKGTEST_ARTIFACTS': '/tmp/autopkgtest.WXFAly/nonetwork-testsuite-artifacts', ...} 1094s threaded_runner = 1094s results_or_iterator = {'code': 1, 'stderr': 'copy: 1 failed\n', 'stdout': '', 'stdout_json': [{'command': 'copy', 'error-messages': ['failed to send content to remote', 'This could have failed because --fast is enabled.'], 'file': 'f0', 'input': ['f0'], ...}]} 1094s results = {'code': 1, 'stderr': 'copy: 1 failed\n', 'stdout': '', 'stdout_json': [{'command': 'copy', 'error-messages': ['failed to send content to remote', 'This could have failed because --fast is enabled.'], 'file': 'f0', 'input': ['f0'], ...}]} 1094s return_code = 1 1094s 1094s def run(self, 1094s cmd: list | str, 1094s protocol: type[WitlessProtocol] | None = None, 1094s stdin: bytes | IO | Queue | None = None, 1094s cwd: PathLike | str | None = None, 1094s env: dict | None = None, 1094s timeout: float | None = None, 1094s exception_on_error: bool = True, 1094s **kwargs) -> dict | _ResultGenerator: 1094s """Execute a command and communicate with it. 1094s 1094s Parameters 1094s ---------- 1094s cmd : list or str 1094s Sequence of program arguments. Passing a single string causes 1094s execution via the platform shell. 1094s protocol : WitlessProtocol, optional 1094s Protocol class handling interaction with the running process 1094s (e.g. output capture). A number of pre-crafted classes are 1094s provided (e.g `KillOutput`, `NoCapture`, `GitProgress`). 1094s If the protocol has the GeneratorMixIn-mixin, the run-method 1094s will return an iterator and can therefore be used in a for-clause. 1094s stdin : file-like, bytes, Queue, or None 1094s If stdin is a file-like, it will be directly used as stdin for the 1094s subprocess. The caller is responsible for writing to it and closing it. 1094s If stdin is a bytes, it will be fed to stdin of the subprocess. 1094s If all data is written, stdin will be closed. 1094s If stdin is a Queue, all elements (bytes) put into the Queue will 1094s be passed to stdin until None is read from the queue. If None is read, 1094s stdin of the subprocess is closed. 1094s cwd : str or path-like, optional 1094s If given, commands are executed with this path as PWD, 1094s the PWD of the parent process is used otherwise. Overrides 1094s any `cwd` given to the constructor. 1094s env : dict, optional 1094s Environment to be used for command execution. If given, it will 1094s completely replace any environment provided to theconstructor. If 1094s `cwd` is given, 'PWD' in the environment is set to its value. 1094s This must be a complete environment definition, no values 1094s from the current environment will be inherited. Overrides 1094s any `env` given to the constructor. 1094s timeout: float, optional 1094s None or the seconds after which a timeout callback is 1094s invoked, if no progress was made in communicating with 1094s the sub-process, or if waiting for the subprocess exit 1094s took more than the specified time. See the protocol and 1094s `ThreadedRunner` descriptions for a more detailed discussion 1094s on timeouts. 1094s exception_on_error : bool, optional 1094s This argument is first interpreted if the protocol is a subclass 1094s of `GeneratorMixIn`. If it is `True` (default), a 1094s `CommandErrorException` is raised by the generator if the 1094s sub process exited with a return code not equal to zero. If the 1094s parameter is `False`, no exception is raised. In both cases the 1094s return code can be read from the attribute `return_code` of 1094s the generator. Then this argument interpreted within this function 1094s to not raise `CommandError` if value is False in case of non-0 exit. 1094s kwargs : 1094s Passed to the Protocol class constructor. 1094s 1094s Returns 1094s ------- 1094s dict | _ResultGenerator 1094s 1094s If the protocol is not a subclass of `GeneratorMixIn`, the 1094s result of protocol._prepare_result will be returned. 1094s 1094s If the protocol is a subclass of `GeneratorMixIn`, a Generator, i.e. 1094s a `_ResultGenerator`, will be returned. This allows to use this 1094s method in constructs like: 1094s 1094s for protocol_output in runner.run(): 1094s ... 1094s 1094s Where the iterator yields whatever protocol.pipe_data_received 1094s sends into the generator. 1094s If all output was yielded and the process has terminated, the 1094s generator will raise StopIteration(return_code), where 1094s return_code is the return code of the process. The return code 1094s of the process will also be stored in the "return_code"-attribute 1094s of the runner. So you could write: 1094s 1094s gen = runner.run() 1094s for file_descriptor, data in gen: 1094s ... 1094s 1094s # get the return code of the process 1094s result = gen.return_code 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s On execution failure (non-zero exit code) this exception is 1094s raised which provides the command (cmd), stdout, stderr, 1094s exit code (status), and a message identifying the failed 1094s command, as properties. 1094s FileNotFoundError 1094s When a given executable does not exist. 1094s """ 1094s if protocol is None: 1094s # by default let all subprocess stream pass through 1094s protocol = NoCapture 1094s 1094s applied_cwd = cwd or self.cwd 1094s applied_env = self._get_adjusted_env( 1094s env=env or self.env, 1094s cwd=applied_cwd, 1094s ) 1094s 1094s lgr.debug( 1094s 'Run %r (protocol_class=%s) (cwd=%s)', 1094s cmd, 1094s protocol.__name__, 1094s applied_cwd 1094s ) 1094s 1094s threaded_runner = ThreadedRunner( 1094s cmd=cmd, 1094s protocol_class=protocol, 1094s stdin=stdin, 1094s protocol_kwargs=kwargs, 1094s timeout=timeout, 1094s exception_on_error=exception_on_error, 1094s cwd=applied_cwd, 1094s env=applied_env 1094s ) 1094s 1094s results_or_iterator = threaded_runner.run() 1094s if issubclass(protocol, GeneratorMixIn): 1094s return results_or_iterator 1094s 1094s results = cast(dict, results_or_iterator) 1094s # log before any exception is raised 1094s lgr.debug("Finished %r with status %s", cmd, results['code']) 1094s 1094s # make it such that we always blow if a protocol did not report 1094s # a return code at all or it was non-0 and we were not asked ignore 1094s # errors 1094s return_code = results.get('code', None) 1094s if return_code is None or (return_code and exception_on_error): 1094s # the runner has a better idea, doc string warns Protocol 1094s # implementations not to return these 1094s results.pop('cmd', None) 1094s results.pop('cwd', None) 1094s > raise CommandError( 1094s # whatever the results were, we carry them forward 1094s cmd=cmd, 1094s cwd=applied_cwd, 1094s **results, 1094s ) 1094s E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false annex copy --batch -z --to local --fast --json --json-error-messages --json-progress -c annex.dotfiles=true' failed with exitcode 1 under /tmp/datalad_temp_tree_test_push_matchinghsii9_7n/ds [info keys: stdout_json] 1094s E > to local... 1094s E failed to send content to remote 1094s E This could have failed because --fast is enabled. [err: 'copy: 1 failed'] 1094s 1094s /usr/lib/python3/dist-packages/datalad/runner/runner.py:242: CommandError 1094s ------------------------------ Captured log call ------------------------------- 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: starting 1094s INFO datalad.core.local.save:log.py:432 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/datalad_temp_tree_test_push_matchinghsii9_7n/ds 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.local.save:log.py:432 Total: done 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad.core.distributed.push:log.py:432 Determine push target 1094s INFO datalad.core.distributed.push:log.py:432 Push refspecs 1094s INFO datalad.core.distributed.push:log.py:432 Transfer data 1094s INFO datalad.annex:log.py:432 Start annex operation 1094s INFO datalad.annex:log.py:432 Finished annex copy 1094s ___________________ test_nested_pushclone_cycle_allplatforms ___________________ 1094s 1094s origpath = '/tmp/datalad_temp_test_nested_pushclone_cycle_allplatforms8p9lubxf' 1094s storepath = '/tmp/datalad_temp_test_nested_pushclone_cycle_allplatforms5jtdkwo6' 1094s clonepath = '/tmp/datalad_temp_test_nested_pushclone_cycle_allplatformso4n11xah' 1094s 1094s @slow # can run over 30 sec when running in parallel with n=2. Cannot force serial yet, see https://github.com/pytest-dev/pytest-xdist/issues/385 1094s @known_failure_githubci_win # recent git-annex, https://github.com/datalad/datalad/issues/7184 1094s @with_tempfile(mkdir=True) 1094s @with_tempfile(mkdir=True) 1094s @with_tempfile(mkdir=True) 1094s def test_nested_pushclone_cycle_allplatforms(origpath=None, storepath=None, clonepath=None): 1094s if 'DATALAD_SEED' in os.environ: 1094s # we are using create-sibling-ria via the cmdline in here 1094s # this will create random UUIDs for datasets 1094s # however, given a fixed seed each call to this command will start 1094s # with the same RNG seed, hence yield the same UUID on the same 1094s # machine -- leading to a collision 1094s raise SkipTest( 1094s 'Test incompatible with fixed random number generator seed') 1094s # the aim here is this high-level test a std create-push-clone cycle for a 1094s # dataset with a subdataset, with the goal to ensure that correct branches 1094s # and commits are tracked, regardless of platform behavior and condition 1094s # of individual clones. Nothing fancy, just that the defaults behave in 1094s # sensible ways 1094s from datalad.cmd import WitlessRunner as Runner 1094s run = Runner().run 1094s 1094s # create original nested dataset 1094s with chpwd(origpath): 1094s run(['datalad', 'create', 'super']) 1094s run(['datalad', 'create', '-d', 'super', str(Path('super', 'sub'))]) 1094s 1094s # verify essential linkage properties 1094s orig_super = Dataset(Path(origpath, 'super')) 1094s orig_sub = Dataset(orig_super.pathobj / 'sub') 1094s 1094s (orig_super.pathobj / 'file1.txt').write_text('some1') 1094s (orig_sub.pathobj / 'file2.txt').write_text('some1') 1094s with chpwd(orig_super.path): 1094s run(['datalad', 'save', '--recursive']) 1094s 1094s # TODO not yet reported clean with adjusted branches 1094s #assert_repo_status(orig_super.path) 1094s 1094s # the "true" branch that sub is on, and the gitsha of the HEAD commit of it 1094s orig_sub_corr_branch = \ 1094s orig_sub.repo.get_corresponding_branch() or orig_sub.repo.get_active_branch() 1094s orig_sub_corr_commit = orig_sub.repo.get_hexsha(orig_sub_corr_branch) 1094s 1094s # make sure the super trackes this commit 1094s assert_in_results( 1094s orig_super.subdatasets(), 1094s path=orig_sub.path, 1094s gitshasum=orig_sub_corr_commit, 1094s # TODO it should also track the branch name 1094s # Attempted: https://github.com/datalad/datalad/pull/3817 1094s # But reverted: https://github.com/datalad/datalad/pull/4375 1094s ) 1094s 1094s # publish to a store, to get into a platform-agnostic state 1094s # (i.e. no impact of an annex-init of any kind) 1094s store_url = 'ria+' + get_local_file_url(storepath) 1094s with chpwd(orig_super.path): 1094s run(['datalad', 'create-sibling-ria', '--recursive', 1094s '-s', 'store', store_url, '--new-store-ok']) 1094s run(['datalad', 'push', '--recursive', '--to', 'store']) 1094s 1094s # we are using the 'store' sibling's URL, which should be a plain path 1094s store_super = AnnexRepo(orig_super.siblings(name='store')[0]['url'], init=False) 1094s store_sub = AnnexRepo(orig_sub.siblings(name='store')[0]['url'], init=False) 1094s 1094s # both datasets in the store only carry the real branches, and nothing 1094s # adjusted 1094s for r in (store_super, store_sub): 1094s eq_(set(r.get_branches()), set([orig_sub_corr_branch, 'git-annex'])) 1094s 1094s # and reobtain from a store 1094s cloneurl = 'ria+' + get_local_file_url(str(storepath), compatibility='git') 1094s with chpwd(clonepath): 1094s run(['datalad', 'clone', cloneurl + '#' + orig_super.id, 'super']) 1094s > run(['datalad', '-C', 'super', 'get', '--recursive', '.']) 1094s 1094s /usr/lib/python3/dist-packages/datalad/core/distributed/tests/test_push.py:980: 1094s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1094s 1094s self = 1094s cmd = ['datalad', '-C', 'super', 'get', '--recursive', '.'] 1094s protocol = , stdin = None 1094s cwd = None, env = None, timeout = None, exception_on_error = True, kwargs = {} 1094s applied_cwd = None, applied_env = None 1094s threaded_runner = 1094s results_or_iterator = {'code': 1, 'stderr': '', 'stdout': ''} 1094s results = {'code': 1, 'stderr': '', 'stdout': ''}, return_code = 1 1094s 1094s def run(self, 1094s cmd: list | str, 1094s protocol: type[WitlessProtocol] | None = None, 1094s stdin: bytes | IO | Queue | None = None, 1094s cwd: PathLike | str | None = None, 1094s env: dict | None = None, 1094s timeout: float | None = None, 1094s exception_on_error: bool = True, 1094s **kwargs) -> dict | _ResultGenerator: 1094s """Execute a command and communicate with it. 1094s 1094s Parameters 1094s ---------- 1094s cmd : list or str 1094s Sequence of program arguments. Passing a single string causes 1094s execution via the platform shell. 1094s protocol : WitlessProtocol, optional 1094s Protocol class handling interaction with the running process 1094s (e.g. output capture). A number of pre-crafted classes are 1094s provided (e.g `KillOutput`, `NoCapture`, `GitProgress`). 1094s If the protocol has the GeneratorMixIn-mixin, the run-method 1094s will return an iterator and can therefore be used in a for-clause. 1094s stdin : file-like, bytes, Queue, or None 1094s If stdin is a file-like, it will be directly used as stdin for the 1094s subprocess. The caller is responsible for writing to it and closing it. 1094s If stdin is a bytes, it will be fed to stdin of the subprocess. 1094s If all data is written, stdin will be closed. 1094s If stdin is a Queue, all elements (bytes) put into the Queue will 1094s be passed to stdin until None is read from the queue. If None is read, 1094s stdin of the subprocess is closed. 1094s cwd : str or path-like, optional 1094s If given, commands are executed with this path as PWD, 1094s the PWD of the parent process is used otherwise. Overrides 1094s any `cwd` given to the constructor. 1094s env : dict, optional 1094s Environment to be used for command execution. If given, it will 1094s completely replace any environment provided to theconstructor. If 1094s `cwd` is given, 'PWD' in the environment is set to its value. 1094s This must be a complete environment definition, no values 1094s from the current environment will be inherited. Overrides 1094s any `env` given to the constructor. 1094s timeout: float, optional 1094s None or the seconds after which a timeout callback is 1094s invoked, if no progress was made in communicating with 1094s the sub-process, or if waiting for the subprocess exit 1094s took more than the specified time. See the protocol and 1094s `ThreadedRunner` descriptions for a more detailed discussion 1094s on timeouts. 1094s exception_on_error : bool, optional 1094s This argument is first interpreted if the protocol is a subclass 1094s of `GeneratorMixIn`. If it is `True` (default), a 1094s `CommandErrorException` is raised by the generator if the 1094s sub process exited with a return code not equal to zero. If the 1094s parameter is `False`, no exception is raised. In both cases the 1094s return code can be read from the attribute `return_code` of 1094s the generator. Then this argument interpreted within this function 1094s to not raise `CommandError` if value is False in case of non-0 exit. 1094s kwargs : 1094s Passed to the Protocol class constructor. 1094s 1094s Returns 1094s ------- 1094s dict | _ResultGenerator 1094s 1094s If the protocol is not a subclass of `GeneratorMixIn`, the 1094s result of protocol._prepare_result will be returned. 1094s 1094s If the protocol is a subclass of `GeneratorMixIn`, a Generator, i.e. 1094s a `_ResultGenerator`, will be returned. This allows to use this 1094s method in constructs like: 1094s 1094s for protocol_output in runner.run(): 1094s ... 1094s 1094s Where the iterator yields whatever protocol.pipe_data_received 1094s sends into the generator. 1094s If all output was yielded and the process has terminated, the 1094s generator will raise StopIteration(return_code), where 1094s return_code is the return code of the process. The return code 1094s of the process will also be stored in the "return_code"-attribute 1094s of the runner. So you could write: 1094s 1094s gen = runner.run() 1094s for file_descriptor, data in gen: 1094s ... 1094s 1094s # get the return code of the process 1094s result = gen.return_code 1094s 1094s Raises 1094s ------ 1094s CommandError 1094s On execution failure (non-zero exit code) this exception is 1094s raised which provides the command (cmd), stdout, stderr, 1094s exit code (status), and a message identifying the failed 1094s command, as properties. 1094s FileNotFoundError 1094s When a given executable does not exist. 1094s """ 1094s if protocol is None: 1094s # by default let all subprocess stream pass through 1094s protocol = NoCapture 1094s 1094s applied_cwd = cwd or self.cwd 1094s applied_env = self._get_adjusted_env( 1094s env=env or self.env, 1094s cwd=applied_cwd, 1094s ) 1094s 1094s lgr.debug( 1094s 'Run %r (protocol_class=%s) (cwd=%s)', 1094s cmd, 1094s protocol.__name__, 1094s applied_cwd 1094s ) 1094s 1094s threaded_runner = ThreadedRunner( 1094s cmd=cmd, 1094s protocol_class=protocol, 1094s stdin=stdin, 1094s protocol_kwargs=kwargs, 1094s timeout=timeout, 1094s exception_on_error=exception_on_error, 1094s cwd=applied_cwd, 1094s env=applied_env 1094s ) 1094s 1094s results_or_iterator = threaded_runner.run() 1094s if issubclass(protocol, GeneratorMixIn): 1094s return results_or_iterator 1094s 1094s results = cast(dict, results_or_iterator) 1094s # log before any exception is raised 1094s lgr.debug("Finished %r with status %s", cmd, results['code']) 1094s 1094s # make it such that we always blow if a protocol did not report 1094s # a return code at all or it was non-0 and we were not asked ignore 1094s # errors 1094s return_code = results.get('code', None) 1094s if return_code is None or (return_code and exception_on_error): 1094s # the runner has a better idea, doc string warns Protocol 1094s # implementations not to return these 1094s results.pop('cmd', None) 1094s results.pop('cwd', None) 1094s > raise CommandError( 1094s # whatever the results were, we carry them forward 1094s cmd=cmd, 1094s cwd=applied_cwd, 1094s **results, 1094s ) 1094s E datalad.runner.exception.CommandError: CommandError: 'datalad -C super get --recursive .' failed with exitcode 1 1094s 1094s /usr/lib/python3/dist-packages/datalad/runner/runner.py:242: CommandError 1094s ------------------------------ Captured log call ------------------------------- 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s INFO datalad:log.py:432 Clear progress bars 1094s INFO datalad:log.py:432 Refresh progress bars 1094s =========================== short test summary info ============================ 1094s FAILED ../build.vXv/src/datalad_next/annexremotes/tests/test_uncurl.py::test_uncurl 1094s FAILED ../build.vXv/src/datalad_next/annexremotes/tests/test_uncurl.py::test_uncurl_ria_access 1094s FAILED ../build.vXv/src/datalad_next/annexremotes/tests/test_uncurl.py::test_uncurl_store 1094s FAILED ../build.vXv/src/datalad_next/annexremotes/tests/test_uncurl.py::test_uncurl_remove 1094s FAILED ../build.vXv/src/datalad_next/annexremotes/tests/test_uncurl.py::test_uncurl_testremote 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_credentials.py::test_credentials_cli 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_tree[1-False-False-expected] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_tree[3-False-False-expected] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_tree[1-True-False-expected] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_tree[3-True-False-expected] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_tree[1-True-True-expected] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_tree[3-True-True-expected] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_tree[1-False-True-expected] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_tree[3-False-True-expected] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_stats[1-False-False-0 datasets, 3 directories] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_stats[3-False-False-0 datasets, 6 directories] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_stats[1-True-False-0 datasets, 3 directories, 2 files] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_stats[3-True-False-0 datasets, 6 directories, 8 files] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_stats[1-True-True-0 datasets, 4 directories, 3 files] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_stats[3-True-True-0 datasets, 7 directories, 11 files] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_stats[1-False-True-0 datasets, 4 directories] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_stats[3-False-True-0 datasets, 7 directories] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_root_path_is_normalized[root/] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_root_path_is_normalized[root/.] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_root_path_is_normalized[root/./] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_root_path_is_normalized[root/../root] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_no_difference_if_root_path_absolute_or_relative 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithoutDatasets::test_print_tree_depth_zero 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithDatasets::test_print_tree[1-False-False-expected] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithDatasets::test_print_tree[4-False-False-expected] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithDatasets::test_print_stats[1-False-False-2 datasets, 1 directory] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithDatasets::test_print_stats[4-False-False-7 datasets, 3 directories] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithDatasets::test_root_path_is_normalized[root/] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithDatasets::test_root_path_is_normalized[root/.] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithDatasets::test_root_path_is_normalized[root/./] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithDatasets::test_root_path_is_normalized[root/../root] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithDatasets::test_no_difference_if_root_path_absolute_or_relative 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeWithDatasets::test_print_tree_depth_zero 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_tree[0-0-expected] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_tree[0-1-expected] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_tree[0-2-expected] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_tree[1-0-expected] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_tree[1-2-expected] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_tree[None-0-expected] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_tree[None-2-expected] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_tree_without_datasets 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_stats[0-0-3 datasets, 0 directories] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_stats[0-1-3 datasets, 1 directory] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_stats[0-2-3 datasets, 2 directories] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_stats[1-0-6 datasets, 1 directory] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_stats[1-2-6 datasets, 2 directories] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_stats[None-0-7 datasets, 1 directory] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestDatasetTree::test_print_stats[None-2-7 datasets, 2 directories] 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeFilesystemIssues::test_print_tree_permission_denied 1094s FAILED ../build.vXv/src/datalad_next/commands/tests/test_tree.py::TestTreeFilesystemIssues::test_print_tree_with_recursive_symlinks 1094s FAILED ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py::test_annex_remote 1094s FAILED ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py::test_export_remote 1094s FAILED ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py::test_annex_remote_autorepush 1094s FAILED ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py::test_export_remote_autorepush 1094s FAILED ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py::test_typeweb_annex 1094s FAILED ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py::test_typeweb_annex_uncompressed 1094s FAILED ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py::test_typeweb_export 1094s FAILED ../build.vXv/src/datalad_next/gitremotes/tests/test_datalad_annex.py::test_submodule_url 1094s FAILED ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_push[True] 1094s FAILED ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_push_recursive 1094s FAILED ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_push_subds_no_recursion 1094s FAILED ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_force_checkdatapresent 1094s FAILED ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_gh1763 1094s FAILED ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_push_wanted 1094s FAILED ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_auto_data_transfer 1094s FAILED ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_auto_if_wanted_data_transfer_path_restriction 1094s FAILED ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_push_git_annex_branch_many_paths_same_data 1094s FAILED ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_push_matching 1094s FAILED ../build.vXv/src/datalad_next/patches/tests/test_push.py::test_nested_pushclone_cycle_allplatforms 1094s ERROR ../build.vXv/src/datalad_next/annexremotes/tests/test_archivist.py::test_archivist_retrieval 1094s ERROR ../build.vXv/src/datalad_next/annexremotes/tests/test_archivist.py::test_archivist_retrieval_legacy 1094s ======= 74 failed, 305 passed, 59 skipped, 2 errors in 377.04s (0:06:17) ======= 1094s autopkgtest [10:13:18]: test nonetwork-testsuite: -----------------------] 1099s autopkgtest [10:13:23]: test nonetwork-testsuite: - - - - - - - - - - results - - - - - - - - - - 1099s nonetwork-testsuite FAIL non-zero exit status 1 1103s autopkgtest [10:13:27]: @@@@@@@@@@@@@@@@@@@@ summary 1103s plain-import PASS (superficial) 1103s apply-datalad-patches PASS (superficial) 1103s extension-registered PASS (superficial) 1103s nonetwork-testsuite FAIL non-zero exit status 1